Hi Simon,

(- guix-devel)

Simon Josefsson <[email protected]> writes:

> I instrumented the Debian package build system to patch the script to
> print debug info, below is that log output, is this better?

I made a mistake: in ‘file_descriptor_count’, the line to add should be:

  ls -l /proc/$shepherd_pid/fd/ >&2

Otherwise, if we do not redirect the output to standard error, the test
breaks poorly:

  ./tests/services/log-rotation.sh: line 186: test: too many arguments

Could you try that?

Also, I wonder if the problem could be a race condition, which would be
fixed like this:

diff --git a/tests/services/log-rotation.sh b/tests/services/log-rotation.sh
index 375f563..178bb49 100644
--- a/tests/services/log-rotation.sh
+++ b/tests/services/log-rotation.sh
@@ -182,6 +182,6 @@ $herd trigger log-rotation
 until test -f "$service_log3.2.gz"; do sleep 0.2; done
 $herd status three
 $herd stop three
-test $(file_descriptor_count) -le $initial_fd_count
+until test $(file_descriptor_count) -le $initial_fd_count; do sleep 0.3; done
 
 $herd stop log-rotation
Could you also give that a try?

Thanks,
Ludo’.

Reply via email to