Skip to content

Commit

Permalink
tor: fix build
Browse files Browse the repository at this point in the history
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.

(cherry picked from commit 58af317)
  • Loading branch information
KamilaBorowska authored and Ma27 committed Feb 19, 2020
1 parent 57aa6d4 commit 6121d36
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
3 changes: 2 additions & 1 deletion pkgs/tools/security/tor/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ''
Expand All @@ -39,7 +41,6 @@ stdenv.mkDerivation rec {
'';

enableParallelBuilding = true;
enableParallelChecking = false; # 4 tests fail randomly

doCheck = true;

Expand Down
26 changes: 26 additions & 0 deletions pkgs/tools/security/tor/disable-monotonic-timer-tests.patch
Original file line number Diff line number Diff line change
@@ -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);

0 comments on commit 6121d36

Please sign in to comment.