]> git.draconx.ca Git - cdecl99.git/commitdiff
tests: Fix randomdecl RNG initialization regression.
authorNick Bowler <nbowler@draconx.ca>
Tue, 2 Jan 2024 04:54:33 +0000 (23:54 -0500)
committerNick Bowler <nbowler@draconx.ca>
Wed, 3 Jan 2024 03:12:57 +0000 (22:12 -0500)
Recent changes broke the RNG initialization so that instead of actually
using the user-supplied seed, uninitialized garbage is used instead.

t/rng.c
tests/stress.at

diff --git a/t/rng.c b/t/rng.c
index cbab4a7b8f8e6a545f6b91046d26dd000c4e0a44..3842d3de1ca1c107f11cb3b09ac6e4aec24990ac 100644 (file)
--- a/t/rng.c
+++ b/t/rng.c
@@ -1,6 +1,6 @@
 /*
  * Simple random number generator for testing.
- * Copyright © 2022-2023 Nick Bowler
+ * Copyright © 2022-2024 Nick Bowler
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -83,6 +83,7 @@ struct test_rng *test_rng_alloc(const char *seed_str)
                fprintf(stderr, "%s: invalid seed\n", seed_str);
                return NULL;
        }
+       seed = seed_val;
 
        rng = malloc_nofail(sizeof *rng);
        rng->state[0] = splitmix64(&seed);
index 1426062a679935d36569e5be7b77fe0c939a8164..fbdb36825b0be2eb75e42650b3a6a7f8cd85b76f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2012, 2020, 2022-2023 Nick Bowler
+# Copyright © 2012, 2020, 2022-2024 Nick Bowler
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -77,7 +77,7 @@ LC_ALL=C sort >expout <<'EOF'
 m4_map([sanity_exp], [sanity_tests])dnl
 EOF
 
-printf 'Using seed %d\n' "$random_seed" >&AS_MESSAGE_LOG_FD
+AS_ECHO(["Using seed $random_seed"]) >&AS_MESSAGE_LOG_FD
 AT_CHECK([randomdecl -En 10000 -s "$random_seed" >decls], [0])
 AT_CHECK([$AWK -f sanity.awk decls | LC_ALL=C sort], [0], [expout])
 
@@ -88,7 +88,7 @@ AT_SETUP([random cross-parse])
 TEST_NEED_PROGRAM([randomdecl])
 TEST_NEED_PROGRAM([crossparse])
 
-printf 'Using seed %d\n' "$random_seed" >&AS_MESSAGE_LOG_FD
+AS_ECHO(["Using seed $random_seed"]) >&AS_MESSAGE_LOG_FD
 AT_CHECK([randomdecl -n "$random_iter" -s "$random_seed"],, [stdout-nolog])
 AT_CHECK([crossparse -f stdout])
 AT_CLEANUP