Skip to content

Releases: ssbc/netsim

v1.1.1

08 Oct 11:10
Compare
Choose a tag to compare

Changelog

  • added reset <peer> <server-impl> command (resets anything that peer synced using server-impl, useful for testing resyncing)
  • made compatible with ssb-db2
  • replaced replicate.upto muxrpc with createLogStream for counting messages
    • good: works with ssb-db2, lets you count partial replication
    • bad: significantly slower when running against large databases (e.g. 100k feeds)

see #36 for how the speed issue introduced in this version will be remedied

v1.0.0

19 Aug 08:14
Compare
Choose a tag to compare

Release notes

This is the first official netsim release!

See the readme or the tutorial for usage instructions.

Note: The attachment care-package.tar.gz contains everything you need to get started:

  • a ready-made ssb-fixtures bundle
  • go-sbot builds (linux and OSX)
  • a minimal ssb-server fork, which was used when developing netsim
  • sim-shims for both go and nodejs (see the readme for more information)

Changelog

Changelog details

af4e880 use correct license name
72c9151 add license to goreleaser
ece570e Merge pull request #22 from ssb-ngi-pointer/add-license
da7113c add authors
8376338 add license headers per cryptix suggestion
6ad4c15 sort timers by their initiation order
ae1decc add final timer stats
1958ab6 sort timers by their initiation order
c950cb7 add final timer stats
f6f0964 Create LICENSE
50437ce remove sim-shims from .goreleaser.yml
e930fe8 exclude windows
3638172 add goreleaser config
baabcf1 add basic --version flag support
af4952a improve timer logic
aef1d6b abort on incorrect language implementation
5864129 add timer commands timerstart /timerstop
d6feb48 add lengthy description of scheduling problem
4171ce6 add --seed & flood connections twice, instead of once
14b470d comment & improve ux of follow graph util
3dfae04 clean up unused arg & add comments
5b62a22 fix crash in print-follow-graph
14c8954 refactor expectations test
c557258 tweak follow graph to test blocks
152c433 fix bug in expectations' collapse function
fb45358 init expectations testing
5ca4ff3 nodejs sim-shim now omits conn scheduler
0a8e544 tie dsl doc to initial design doc
d6109e9 fix formatting
74b3a4a fix typo
7922c46 add tutorial
70e64ab minor js sim-shim tweaks
36555da improve error message & implement feedback in #17
deff0e5 add retry loop to start command
5164413 document commands
f0489f5 improve comments
f36706f fix log command & improve comments
e87c636 improve go sim-shim & fix #16
abed21f readme tweaks
fe50a01 create new readme
d02f925 allow blank lines in test script
6f42366 support # comments
c4d4193 show # messages in db on puppet start
8319436 properly cancel netsim run during waituntil stmt
9a3d96b rename test to run, add --no-test-script flag to generate (#14)
3ec2f43 improve error message for failing
f040e0d fix has for empty feeds
76aef3e abort test with @ if @ missing
4d193b4 add alloffsets command for preloading a puppet
f65edf6 improve error message & comments in GetIdentities
f807f4b remove crypto fork & use newer secretstream
72a8d26 remove old comment
c511c98 comment ProduceExpectations
3902b37 fix typos
f68512f move comment in generation package
796696a comment collapse function
a2402a1 add more informative error messages to splicer
d1ba0ef implement review suggestions for netsim cmd
029ede5 Apply suggestions from code review
15a3ca1 fix missing --fixtures flag
24f3606 improve ux
d5a41d0 implement the command netsim test
fc030b2 rename splicer lib file to splicer.go
1d5190c implement netsim generate command
20c45f0 expectations package returns map, instead of writing a file
47915a5 rename dsl package to sim, extract puppet into own file
9bd138a extract dsl command, error on test file not found
ef07ac4 refactor & extract print-follow-graph
1c7dded refactor & extract generate-test
9449fb7 finish extraction of expectations tool & package
cc68bd0 extract clis to packages, update log-splicer command
4601326 refactor dsl command & extract Args struct
1d779a9 refactor log-splicer, export Args & SpliceLogs
11898d7 refactor expectations generator, export Args struct
96ddd35 export Args struct & its fields
070bb51 wip extract test test generator into module
cbb2e73 update gitignore
16fca30 add sim-shim directory
cddb1f9 taplog error when counting messages
1a3ce29 use io.Copy instead of os's ReadFile + WriteFile
8e363c4 implement unwrap on TestError
94f073d improve comments
ab9bd97 rename rep-eps to test-generation
536fb69 refactor & clean things up
4ab9949 add message counting metric
74a4800 finalize per puppet chronometrics
b5e6023 fix all puppet references
7c376bb wip per puppet timers
9b8b458 add retry logic to waituntil
4e008b6 annotate error message
a584c46 add print follow graph util
653ce00 add newest
4046f12 fix erroneous connections to puppets blocking us
65e5045 add pairwise hops connections
6738617 add comment re connect command, improve taplog
f8ac977 refactor: add extractSeqno & state assumptions for @latest
ca222ff fix premature log closure -> crash
239da90 cleanup stop/shutdown handling
0e55f8e add interrupt wips
8d8c889 dont stop focused peers, only connect to direct follows
2e923b2 copy follow-graph.json when splicing fixtures
a4d195b minor tweaks
83269f9 rewrite to use runtime args struct
a3272e7 add waituntil command
e4e3392 refactor getting instruction args
826a017 do not start already running puppets
2ed510d convert dsl to new log-splicer format, rewrite command
4393fcc add comment command
7ac7a88 use new log-splicer format for test generation
a681114 refactor: break out runtime args, add --out
cd9fbcd improve error checking for passed-in sbots
e329fbd improve error handling for instructions
14049c1 abort if empty line detected
1ffc0cf add wip generate test code
88d25cb add --replicated-blocked flag to toggle behaviour
6eaf11e prune out duplicates before writing to disk
b1c88c4 introduce -hops flag
bb8dc09 collapse hops & write expectations.json
e71f163 start replication expectations tool
270ec76 Log splicer rewrite (#9)
36c7796 Merge pull request #7 from ssb-ngi-pointer/load-spliced-ids
dbb7e32 Merge branch 'main' into load-spliced-ids
ef0e903 Update cmd/dsl/main.go
171d32c rename nolog -> skipoffset
87a57ae rename Simulator.secrets to Simulator.idFolders
230fc81 improve regex for parsing publish syntax
a185ad7 literals are your friends
0073b33 broken test
1dbb42c add parser tests
7a0e3ff move parser to internal/parser package
62a38ba add publish command
ebc6dfb add log splicer utility (#6)
1d9420f Merge pull request #5 from ssb-ngi-pointer/state-commands
95eb3eb introduce nolog command
0880b9d misc custodial labour
5bc9aad use simpler log-splicing format, introduce bail()
572c793 make load use spliced out ids
399f77d signal success if load runs without issue
c1c9803 add start of fixtures loading
3ed2803 implement enter, hops, and caps puppet commands
94b659a Merge pull request #4 from ssb-ngi-pointer/flags-caps-hops
ec3530a add -hops, -caps flags. set , env variables
59801ed Merge pull request #3 from ssb-ngi-pointer/add-cancelation
b35a99b implement errgroup-focused improvement
3021d04 add separate commands documentation
4dcdc71 refactor monitorInterrupts, attach to Simulator
3faf690 implement TAP bail out
dee4834 implement stop command
bf10d0a minor refactoring of interrupt logic
9396fec rewrite port acquisition with errgroup as practice
af9b62f add ctrl+c for sim and puppets
0f51db4 improve port acquisition
a3f9505 cleanup
543eea0 remove unreachable stmt
21128a2 add basic metrics
1816d88 return prepared puppet dir
4de89c3 Merge pull request #2 from ssb-ngi-pointer/go-peers
a3769a4 puppet directory is always called 'puppets'
ff1ac2f add verbose flag -v
679f39d use filepath.Join, remove path import
1d8ce47 use replicate.upto for latest, some cleanup
b60f741 implement specifying language implemenations on cli; remove last hardcoded route from simulator
dac6e22 reset puppet folder on each run
35f1a8e fix error log when publishing to go nodes
f40a839 use flag provided absolute filenames
536a8ec refactor port & file handling logic
bcdd605 fmt
1aef2a5 refactor port logic slightly
ba7645f use stream opts to dump offsets more efficiently
837a45e defer after checking errors
824c747 fmt
5886cce normalize command signatures
7dc0d2f refactor: remove functions for shelling out
c93f4b4 refactor commands to use go-based muxrpc client
da588ec implement and use go-based muxrpc client
2146063 Merge branch 'main' of github.com:ssb-ngi-pointer/netsim
0d33d8d restructure main file into several files
b5a6773 more commands, incl connect
03b213f implement a bunch of statements
e540644 Create domain-specific-language.md
add4189 init netsim test dsl proof of concept
d8c43fe first draft