3
0
Fork 0
forked from mirrors/nixpkgs

tor: fix build

Monotonic timer test expects sleep(200ms) to take at most 1s. On
loaded systems like hydra, it's possible for such a test to take
longer than 1 second.

Tests expecting sleep(200ms) to take at least 175ms weren't removed,
because load shouldn't cause sleep to be shorter.
This commit is contained in:
Konrad Borowski 2020-02-19 09:03:39 +01:00
parent 329102c47b
commit 58af3177c0
2 changed files with 28 additions and 1 deletions

View file

@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
buildInputs = [ libevent openssl zlib lzma zstd scrypt ] ++
stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ];
patches = [ ./disable-monotonic-timer-tests.patch ];
NIX_CFLAGS_LINK = stdenv.lib.optionalString stdenv.cc.isGNU "-lgcc_s";
postPatch = ''
@ -39,7 +41,6 @@ stdenv.mkDerivation rec {
'';
enableParallelBuilding = true;
enableParallelChecking = false; # 4 tests fail randomly
doCheck = true;

View file

@ -0,0 +1,26 @@
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 0d86a5ab5..e93c6ba89 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -5829,13 +5829,9 @@ test_util_monotonic_time(void *arg)
/* We need to be a little careful here since we don't know the system load.
*/
tt_i64_op(monotime_diff_msec(&mt1, &mt2), OP_GE, 175);
- tt_i64_op(monotime_diff_msec(&mt1, &mt2), OP_LT, 1000);
tt_i64_op(monotime_coarse_diff_msec(&mtc1, &mtc2), OP_GE, 125);
- tt_i64_op(monotime_coarse_diff_msec(&mtc1, &mtc2), OP_LT, 1000);
tt_u64_op(nsec2-nsec1, OP_GE, 175000000);
- tt_u64_op(nsec2-nsec1, OP_LT, 1000000000);
tt_u64_op(nsecc2-nsecc1, OP_GE, 125000000);
- tt_u64_op(nsecc2-nsecc1, OP_LT, 1000000000);
tt_u64_op(msec1, OP_GE, nsec1 / 1000000);
tt_u64_op(usec1, OP_GE, nsec1 / 1000);
@@ -5849,7 +5845,6 @@ test_util_monotonic_time(void *arg)
uint64_t coarse_stamp_diff =
monotime_coarse_stamp_units_to_approx_msec(stamp2-stamp1);
tt_u64_op(coarse_stamp_diff, OP_GE, 120);
- tt_u64_op(coarse_stamp_diff, OP_LE, 1200);
{
uint64_t units = monotime_msec_to_approx_coarse_stamp_units(5000);