ATF_TC(isc_ht_20);
ATF_TC_HEAD(isc_ht_20, tc) {
- atf_tc_set_md_var(tc, "descr", "20 bit, 2M elements test");
+ atf_tc_set_md_var(tc, "descr", "20 bit, 200K elements test");
}
ATF_TC_BODY(isc_ht_20, tc) {
UNUSED(tc);
- test_ht_full(20, 2000000);
+ test_ht_full(20, 200000);
}
* information regarding copyright ownership.
*/
+/*
+ * IMPORTANT NOTE:
+ * These tests work by generating a large number of pseudo-random numbers
+ * and then statistically analyzing them to determine whether they seem
+ * random. The test is expected to fail on occasion by random happenstance.
+ */
+
#include <config.h>
#include <isc/random.h>
#include <stdint.h>
#include <math.h>
+#define REPS 25000
+
typedef double (pvalue_func_t)(isc_mem_t *mctx,
isc_uint16_t *values, size_t length);
for (j = 0; j < m; j++) {
isc_uint32_t i;
- isc_uint16_t values[128000];
+ isc_uint16_t values[REPS];
double p_value;
if (word_sized) {
- for (i = 0; i < 128000; i++)
+ for (i = 0; i < REPS; i++)
isc_rng_randombytes(rng, &values[i],
sizeof(values[i]));
} else {
isc_rng_randombytes(rng, values, sizeof(values));
}
- p_value = (*func)(mctx, values, 128000);
+ p_value = (*func)(mctx, values, REPS);
if (p_value >= 0.01)
passed++;
numbits = length * 16;
bcount = 0;
- for (i = 0; i < 128000; i++)
+ for (i = 0; i < REPS; i++)
bcount += bitcounts_table[values[i]];
/* Debug message, not displayed when running via atf-run */