Use test's random generator

This removes the `create` calls when a test was only setting up a
generator, and it replaces them with `reset` when run in a loop.
This commit is contained in:
Feoramund
2024-06-15 13:37:04 -04:00
parent 5dfd303fd1
commit 1a52cf1f1c
5 changed files with 16 additions and 38 deletions

View File

@@ -20,9 +20,6 @@ test_avl :: proc(t: ^testing.T) {
iter := avl.iterator(&tree, avl.Direction.Forward)
testing.expect(t, avl.iterator_get(&iter) == nil, "empty/iterator: first node should be nil")
r := rand.create(t.seed)
context.random_generator = rand.default_random_generator(&r)
// Test insertion.
NR_INSERTS :: 32 + 1 // Ensure at least 1 collision.
inserted_map := make(map[int]^avl.Node(int))

View File

@@ -14,9 +14,6 @@ test_rbtree_integer :: proc(t: ^testing.T, $Key: typeid, $Value: typeid) {
defer mem.tracking_allocator_destroy(&track)
context.allocator = mem.tracking_allocator(&track)
r := rand.create(t.seed)
context.random_generator = rand.default_random_generator(&r)
log.infof("Testing Red-Black Tree($Key=%v,$Value=%v) using random seed %v.", type_info_of(Key), type_info_of(Value), t.seed)
tree: rb.Tree(Key, Value)
rb.init(&tree)

View File

@@ -53,8 +53,7 @@ test_xxhash_zero_streamed_random_updates :: proc(t: ^testing.T) {
testing.expect(t, xxh3_128_err == nil, "Problem initializing XXH3_128 state")
// XXH3_128_update
random_seed := rand.create(t.seed)
context.random_generator = rand.default_random_generator(&random_seed)
rand.reset(t.seed)
for len(b) > 0 {
update_size := min(len(b), rand.int_max(8192))
if update_size > 4096 {

View File

@@ -11,8 +11,7 @@ test_sort_with_indices :: proc(t: ^testing.T) {
test_sizes :: []int{7, 13, 347, 1031, 10111, 100003}
for test_size in test_sizes {
r := rand.create(t.seed)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed)
vals := make([]u64, test_size)
r_idx := make([]int, test_size) // Reverse index
@@ -63,8 +62,7 @@ test_sort_by_indices :: proc(t: ^testing.T) {
test_sizes :: []int{7, 13, 347, 1031, 10111, 100003}
for test_size in test_sizes {
r := rand.create(t.seed)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed)
vals := make([]u64, test_size)
r_idx := make([]int, test_size) // Reverse index

View File

@@ -16,8 +16,7 @@ map_insert_random_key_value :: proc(t: ^testing.T) {
defer delete(m)
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<entries {
k := rand.int63()
v := rand.int63()
@@ -37,8 +36,7 @@ map_insert_random_key_value :: proc(t: ^testing.T) {
testing.expectf(t, len(m) == unique_keys, "Expected len(map) to equal %v, got %v", unique_keys, len(m))
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
num_fails := 0
for _ in 0..<entries {
@@ -68,8 +66,7 @@ map_update_random_key_value :: proc(t: ^testing.T) {
defer delete(m)
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<entries {
k := rand.int63()
@@ -92,8 +89,7 @@ map_update_random_key_value :: proc(t: ^testing.T) {
half_entries := entries / 2
// Reset randomizer and update half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<half_entries {
k := rand.int63()
@@ -103,8 +99,7 @@ map_update_random_key_value :: proc(t: ^testing.T) {
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
num_fails := 0
for i in 0..<entries {
@@ -135,8 +130,7 @@ map_delete_random_key_value :: proc(t: ^testing.T) {
defer delete(m)
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<entries {
k := rand.int63()
@@ -159,8 +153,7 @@ map_delete_random_key_value :: proc(t: ^testing.T) {
half_entries := entries / 2
// Reset randomizer and delete half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<half_entries {
k := rand.int63()
@@ -170,8 +163,7 @@ map_delete_random_key_value :: proc(t: ^testing.T) {
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
num_fails := 0
for i in 0..<entries {
@@ -218,8 +210,7 @@ set_insert_random_key_value :: proc(t: ^testing.T) {
defer delete(m)
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<entries {
k := rand.int63()
@@ -238,8 +229,7 @@ set_insert_random_key_value :: proc(t: ^testing.T) {
testing.expectf(t, len(m) == unique_keys, "Expected len(map) to equal %v, got %v", unique_keys, len(m))
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
num_fails := 0
for _ in 0..<entries {
@@ -268,8 +258,7 @@ set_delete_random_key_value :: proc(t: ^testing.T) {
defer delete(m)
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<entries {
k := rand.int63()
@@ -291,8 +280,7 @@ set_delete_random_key_value :: proc(t: ^testing.T) {
half_entries := entries / 2
// Reset randomizer and delete half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
for _ in 0..<half_entries {
k := rand.int63()
@@ -300,8 +288,7 @@ set_delete_random_key_value :: proc(t: ^testing.T) {
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
rand.reset(t.seed + seed_incr)
num_fails := 0
for i in 0..<entries {