summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/rangehttpserver
diff options
context:
space:
mode:
authorYarny0 <41838844+Yarny0@users.noreply.github.com>2024-08-29 15:12:49 +0200
committerYarny0 <41838844+Yarny0@users.noreply.github.com>2024-10-27 10:45:38 +0100
commit1693e1acc0cde969c70b93acc4a92534eb83194b (patch)
tree4e74ff75a76b7e98daa0da3c8b3ce02fc2b49e76 /pkgs/development/python-modules/rangehttpserver
parent377cbbdc3001d85242b21bb89823c69abf1765ba (diff)
nixos/tests/printing: fix race of lpstat and ensure-printers
There is a nasty race condition in the cups tests. To understand what is going on, one must first note that printers are installed in the vms with ensure-printers.service, which is started as part of multi-user.target. ensure-printers.service in turn triggers a start of cups.service as it needs to connect to the local cups daemon. This is what happens when the test runs: 1 the test waits for cups.socket or cups.service to start up (subtest "Make sure that cups is up on both sides...") 2 after cups.service started (it starts even in the "socket" case, triggered by ensure-printers.service), ensure-printers.service is started 3 the test tries to connect to the cups daemons via curl (subtest "HTTP server is available too") 4 the test verifies the required printers are installed ("lpstat -a" called by subtest "LP status checks") Usually, 3 needs some time, so ensure-printers.service already installed all printers that are required by 4. But if 3 is too fast, or if ensure-printers.service is too slow, 4 fails to find the printers it is looking for. One can provoke the problem by adding > systemd.services.ensure-printers.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 10"; to the `nodes.client` configuration. The commit at hand fixes the problem by changing 1: Instead of waiting for cups, it now waits for ensure-printers.service (which in turn waits for cups.service and cups.socket). This is also in accordance with the subtest description in the code that promises to "Make sure that cups is up [...] and printers are set up".
Diffstat (limited to 'pkgs/development/python-modules/rangehttpserver')
0 files changed, 0 insertions, 0 deletions