| 
					
				 | 
			
			
				@@ -3241,6 +3241,34 @@ test_util_set_env_var_in_sl(void *ptr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   smartlist_free(expected_resulting_env_vars); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+test_util_weak_random(void *arg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  int i, j, n[16]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tor_weak_rng_t rng; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (void) arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tor_init_weak_random(&rng, (unsigned)time(NULL)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i = 1; i <= 256; ++i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for (j=0;j<100;++j) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int r = tor_weak_random_range(&rng, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tt_int_op(0, <=, r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tt_int_op(r, <, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  memset(n,0,sizeof(n)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (j=0;j<8192;++j) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    n[tor_weak_random_range(&rng, 16)]++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i=0;i<16;++i) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tt_int_op(n[i], >, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ done: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 test_util_mathlog(void *arg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3312,6 +3340,7 @@ struct testcase_t util_tests[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   UTIL_TEST(read_file_eof_two_loops, 0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   UTIL_TEST(read_file_eof_zero_bytes, 0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   UTIL_TEST(mathlog, 0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  UTIL_TEST(weak_random, 0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   END_OF_TESTCASES 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |