3 ms·
The coverage and the attention to detail here is incredible. Hats off to Justine. I would love to know how this table is generated and what the test process is
by ridiculous_fish 4y ago
The coverage and the attention to detail here is incredible. Hats off to Justine.
I would love to know how this table is generated and what the test process is. What's the best way to run tests like this across such a wide variety of OSes? Maybe vagrant images?
- jart 4y agoJustine here. I have a fleet of VMs for various OSes running the runitd.com daemon. I then write unit tests in Emacs and when I press CTRL-C CTRL-_ it builds the test, gzips it, and uses runit.com to deploy and run the executable to every VM, and reports back the output within milliseconds. Here's a screenshot of me testing the sendfile() system call: https://justine.lol/cosmopolitan/sendfile-testing.png https://justine.lol/cosmopolitan/sendfile-testing.png When I run `make test` it deploys and runs all 465 test executables to all seven test VMs currently in the fleet, and it takes about 10 seconds. Here's a video: https://storage.googleapis.com/justine/sizetricks/runit.mp4 https://storage.googleapis.com/justine/sizetricks/runit.mp4 All runit.com and runitd.com do (their sources are in tool/build/ of the cosmo github repo) is basically `scp program host: && ssh host ./program` which is what I used to do, except SSH was unacceptably slow, so I wrote runit, which use PSK TLS and DEFLATE to transfer files over the network.
- davedx 4y agoLove your naming of the magic numbers headers. https://github.com/jart/cosmopolitan/blob/1.0/libc/sysv/consts.sh#L2714 https://github.com/jart/cosmopolitan/blob/1.0/libc/sysv/cons...
- serbrech 4y agothat file is incredible :)
- smnscu 4y ago100%, and also how TIL about the Swedish Rhapsody https://www.youtube.com/watch?v=GUQUD3IMbb4&t=85s https://www.youtube.com/watch?v=GUQUD3IMbb4&t=85s -- link at the bottom of the file https://en.wikipedia.org/wiki/Swedish_Rhapsody_(numbers_station) https://en.wikipedia.org/wiki/Swedish_Rhapsody_(numbers_stat...
- idealmedtech 4y agoHow do you manage the keys? Rotation every now and then? New keys with each deployment?
- dataflow 4y agoIf you don't mind an unrelated question - what do you mean when you write "WIN32 lacks consistency" for things like chdir() and unlinkat()? If you mean the inability to pass HANDLEs instead of paths, you might want to use the native NT APIs (like NtOpenFile and NtDeleteFile), which let you use handles directly.
- phibz 4y agoVery cool. Although you confused me for a moment with the runit name. I was thinking the runit init daemon.