Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | net: don't copy data in struct buf | 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 $?. | ||
* | json_rpc: removed unused routines | Egor Tensin | 2023-07-18 |
| | |||
* | net: remove unused buf_* routines | Egor Tensin | 2023-07-18 |
| | |||
* | 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. | ||
* | docker: sanitize package dependencies | Egor Tensin | 2023-07-14 |
| | |||
* | 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 |
| | |||
* | sqlite: rename SQL schema variables | 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 |
| | |||
* | string: add a comment | 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 |
| | |||
* | sqlite: SQL formatting | Egor Tensin | 2023-07-08 |
| | |||
* | 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. | ||
* | clang-format: don't break string literals | Egor Tensin | 2023-07-07 |
| | |||
* | test: add some basic command-line usage tests | Egor Tensin | 2023-07-07 |
| | |||
* | support code coverage report generation | Egor Tensin | 2023-07-07 |
| | |||
* | Makefile: add release target | Egor Tensin | 2023-07-07 |
| | |||
* | server: fix a possible leak | Egor Tensin | 2023-07-07 |
| | |||
* | sqlite: minor refactoring | Egor Tensin | 2023-07-07 |
| | |||
* | storage_sqlite: avoid races when inserting repos | Egor Tensin | 2023-07-06 |
| | | | | | Insert first, then query the ID. That way, it'll work even if there're other workers inserting new repos. | ||
* | workflows/ci: Valgrind tests should pass now | Egor Tensin | 2023-07-06 |
| | |||
* | cmake: fix Valgrind runs with Clang builds | Egor Tensin | 2023-07-06 |
| | |||
* | 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 |
| | |||
* | worker: actually stay offline | Egor Tensin | 2023-07-05 |
| | | | | | I don't know what I was thinking, but contrary to my intention, the worker stayed connected to the server all the time. | ||
* | tcp_server: minor refactoring | Egor Tensin | 2023-07-05 |
| | |||
* | tcp_server: close client connections | Egor Tensin | 2023-07-05 |
| | | | | | I kinda forgot that I'm supposed to clean up client connections, and they immediately blew up in my face. | ||
* | command: dedupe the code | 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. | ||
* | sanitize #include-s | Egor Tensin | 2023-07-04 |
| | |||
* | worker: close the leftover descriptor | Egor Tensin | 2023-07-04 |
| | | | | | Thanks, Valgrind! As a note: if I think that Valgrind reports a false positive, chances are, it's not. | ||
* | move custom message parsing to a separate module | Egor Tensin | 2023-07-04 |
| | |||
* | storage_sqlite: refactoring | Egor Tensin | 2023-07-04 |
| |