diff options
Diffstat (limited to 'v_windows/v/vlib/time/misc')
| -rw-r--r-- | v_windows/v/vlib/time/misc/misc.v | 13 | ||||
| -rw-r--r-- | v_windows/v/vlib/time/misc/misc_test.v | 17 | 
2 files changed, 30 insertions, 0 deletions
diff --git a/v_windows/v/vlib/time/misc/misc.v b/v_windows/v/vlib/time/misc/misc.v new file mode 100644 index 0000000..b0be126 --- /dev/null +++ b/v_windows/v/vlib/time/misc/misc.v @@ -0,0 +1,13 @@ +module misc + +import rand +import time + +const ( +	start_time_unix = time.now().unix // start_time_unix is set when the program is started. +) + +// random returns a random time struct in *the past*. +pub fn random() time.Time { +	return time.unix(int(rand.i64n(misc.start_time_unix))) +} diff --git a/v_windows/v/vlib/time/misc/misc_test.v b/v_windows/v/vlib/time/misc/misc_test.v new file mode 100644 index 0000000..9bcc8ad --- /dev/null +++ b/v_windows/v/vlib/time/misc/misc_test.v @@ -0,0 +1,17 @@ +import time.misc as tmisc +import rand + +fn test_random() { +	// guarantee CI test stability, by seeding the random number generator with a known seed +	rand.seed([u32(0), 0]) +	t1 := tmisc.random() +	t2 := tmisc.random() +	t3 := tmisc.random() +	t4 := tmisc.random() +	assert t1.unix != t2.unix +	assert t1.unix != t3.unix +	assert t1.unix != t4.unix +	assert t2.unix != t3.unix +	assert t2.unix != t4.unix +	assert t3.unix != t4.unix +}  | 
