Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | implement flame graph generation | Egor Tensin | 2023-07-18 |
| | |||
* | process: preserve the exit code more | Egor Tensin | 2023-07-18 |
| | | | | | If the process is killed by a signal, preserve the exit code as it would be reported by $?. | ||
* | switch to JSON-RPC as message format | Egor Tensin | 2023-07-18 |
| | | | | | | Instead of the weird `struct msg` I had, I switched to the JSON-RPC format. It's basically the same, but has a well-defined semantics in case of errors. | ||
* | test: move some code to lib/ | Egor Tensin | 2023-07-12 |
| | |||
* | test: use namedtuple where appropriate | Egor Tensin | 2023-07-12 |
| | |||
* | test: add test for segfaulting CI script | Egor Tensin | 2023-07-11 |
| | | | | | | | | The C code leaked out of src/, so I moved .clang-format and some compile options to the root directory. Also, I'm starting to hit test execution limits; I'm going to limit the repositories used for stress testing. | ||
* | sqlite: make some identifiers more readable | Egor Tensin | 2023-07-11 |
| | |||
* | test: more compact CI scripts | Egor Tensin | 2023-07-10 |
| | |||
* | test: fix Python freezes | Egor Tensin | 2023-07-10 |
| | | | | | I would get random freezes when running tests; I completely forgot that logging & multiprocessing don't play well together. | ||
* | test: code style | Egor Tensin | 2023-07-10 |
| | |||
* | test: test CI run output containing \0 | Egor Tensin | 2023-07-10 |
| | |||
* | test: test long CI run output | Egor Tensin | 2023-07-10 |
| | | | | It immediately exposed a horrible bug in net.c, which is now fixed. | ||
* | test: prettier test names | Egor Tensin | 2023-07-09 |
| | |||
* | test: test empty CI run output, refactoring | Egor Tensin | 2023-07-09 |
| | | | | | Meh, moving the shell code generation to Python I like better in the end. | ||
* | store process output in SQLite | Egor Tensin | 2023-07-09 |
| | |||
* | test: attempt to fix random port selection again | Egor Tensin | 2023-07-09 |
| | |||
* | test: print test timings | Egor Tensin | 2023-07-09 |
| | |||
* | test: increase timeouts | Egor Tensin | 2023-07-09 |
| | | | | All the new added tests require more time. | ||
* | test: don't wait for hanging processes | Egor Tensin | 2023-07-09 |
| | |||
* | test: fix sqlite3.connect usage | Egor Tensin | 2023-07-09 |
| | |||
* | test: dedupe code by using @parametrize | Egor Tensin | 2023-07-08 |
| | |||
* | test: refactoring | Egor Tensin | 2023-07-08 |
| | |||
* | test: verify that added runs are in the database | Egor Tensin | 2023-07-08 |
| | | | | | And that they're marked as finished. It immediately exposed some concurrency bugs, so some locking has been fixed. | ||
* | test: add some basic command-line usage tests | Egor Tensin | 2023-07-07 |
| | |||
* | test: try mitigating port clashes | Egor Tensin | 2023-07-06 |
| | | | | Also, I don't think calling random.seed is necessary. | ||
* | test: add one more stress test | Egor Tensin | 2023-07-06 |
| | |||
* | test: add a 2000-iteration basic repository test | Egor Tensin | 2023-07-05 |
| | |||
* | tcp_server: keep track of client threads | Egor Tensin | 2023-07-05 |
| | | | | | | | This is a major change, obviously; brought to me by Valgrind, which noticed that we don't actually clean up after cimple-client threads. For a more thorough explanation, please see the added comment in tcp_server.c. | ||
* | storage: mark completed runs as such | Egor Tensin | 2023-07-04 |
| | |||
* | show git hash with --version | Egor Tensin | 2023-06-30 |
| | | | | Also, use cmake's configure_file to build string constants in. | ||
* | test: split tests into different files | Egor Tensin | 2023-06-30 |
| | |||
* | test: shuffle files a bit | Egor Tensin | 2023-06-29 |
| | | | | | | | | | This should hopefully reduce clutter in the test/ directory. Side note: if I leave the __init__.py file in the new py/ directory, pytest fails with import errors. To make it work, I need to either delete it or keep the __init__.py file in both test/ and py/. No idea why. | ||
* | add .pytest_cache to .gitignore | Egor Tensin | 2023-06-28 |
| | | | | | It's added by Pytest automatically, but I like doing it explicitly better. | ||
* | test: better logging | Egor Tensin | 2023-06-28 |
| | |||
* | test: skip ci.sh w/ Valgrind | Egor Tensin | 2023-06-28 |
| | |||
* | test/lib: remove non-sensical *Runner classes | Egor Tensin | 2023-06-28 |
| | |||
* | test/lib: refactoring | Egor Tensin | 2023-06-28 |
| | |||
* | test: add test timeouts, prettier output | Egor Tensin | 2023-06-28 |
| | |||
* | test: add test for actual CI runs | Egor Tensin | 2023-06-28 |
| | |||
* | test/lib: refactoring | Egor Tensin | 2023-06-28 |
| | |||
* | test/lib: refactoring | Egor Tensin | 2023-05-15 |
| | |||
* | test/lib: log process readiness only once | Egor Tensin | 2023-05-07 |
| | |||
* | test: refactoring | Egor Tensin | 2023-05-07 |
| | |||
* | test: rename CMake tests | Egor Tensin | 2023-05-07 |
| | |||
* | add tests to run binaries under Valgrind | Egor Tensin | 2023-05-07 |
| | | | | | | | | | | | This was quite a bit of refactoring in test/; everything should be more maintainable and robust in theory. Also, valgrind.sh was fixed to use exec (so that signals are passed to the underlying process); Valgrind command line options have also been tweaked. ./ci.sh fails now, but that should be fixable. | ||
* | test: mark global fixtures as such | Egor Tensin | 2023-05-06 |
| | |||
* | add a couple of the most basic tests using Pytest | Egor Tensin | 2023-05-06 |
I'm super-unsure about this; I don't really like all the magic, but we'll see, I guess? |