summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas G. Lockhart1998-08-17 16:11:35 +0000
committerThomas G. Lockhart1998-08-17 16:11:35 +0000
commit620c2c362f636d786f10ad010d58d2ed595f72d3 (patch)
tree616a47b7ffbb1afd3a1cbf9918ad0cf6129640c8
parenta8bcb8bc5801584ad80667e754c5342bc19c1e0e (diff)
Update the random test so it should succeed most of the time.
Instead of directly showing the random results, test the results for the expected behavior (range and randomness).
-rw-r--r--src/test/regress/expected/random.out25
-rw-r--r--src/test/regress/output/misc.source3
-rw-r--r--src/test/regress/sql/random.sql18
3 files changed, 33 insertions, 13 deletions
diff --git a/src/test/regress/expected/random.out b/src/test/regress/expected/random.out
index 1badd40761..a0592ac369 100644
--- a/src/test/regress/expected/random.out
+++ b/src/test/regress/expected/random.out
@@ -4,15 +4,20 @@ count
1000
(1 row)
-QUERY: SELECT count(*) FROM onek where oidrand(onek.oid, 10);
-count
------
- 92
-(1 row)
+QUERY: SELECT count(*) AS random INTO RANDOM_TBL
+ FROM onek WHERE oidrand(onek.oid, 10);
+QUERY: INSERT INTO RANDOM_TBL (random)
+ SELECT count(*)
+ FROM onek WHERE oidrand(onek.oid, 10);
+QUERY: SELECT random, count(random) FROM RANDOM_TBL
+ GROUP BY random HAVING count(random) > 1;
+random|count
+------+-----
+(0 rows)
-QUERY: SELECT count(*) FROM onek where oidrand(onek.oid, 10);
-count
------
- 98
-(1 row)
+QUERY: SELECT random FROM RANDOM_TBL
+ WHERE random NOT BETWEEN 80 AND 120;
+random
+------
+(0 rows)
diff --git a/src/test/regress/output/misc.source b/src/test/regress/output/misc.source
index 0df73072f5..39a6101031 100644
--- a/src/test/regress/output/misc.source
+++ b/src/test/regress/output/misc.source
@@ -495,6 +495,7 @@ person
point_tbl
polygon_tbl
ramp
+random_tbl
real_city
reltime_tbl
road
@@ -512,5 +513,5 @@ tinterval_tbl
toyemp
varchar_tbl
xacttest
-(70 rows)
+(71 rows)
diff --git a/src/test/regress/sql/random.sql b/src/test/regress/sql/random.sql
index 6e541341af..6463c7bf8b 100644
--- a/src/test/regress/sql/random.sql
+++ b/src/test/regress/sql/random.sql
@@ -5,8 +5,22 @@
SELECT count(*) FROM onek;
-- select roughly 1/10 of the tuples
-SELECT count(*) FROM onek where oidrand(onek.oid, 10);
+-- Assume that the "onek" table has 1000 tuples
+-- and try to bracket the correct number so we
+-- have a regression test which can pass/fail
+-- - thomas 1998-08-17
+SELECT count(*) AS random INTO RANDOM_TBL
+ FROM onek WHERE oidrand(onek.oid, 10);
-- select again, the count should be different
-SELECT count(*) FROM onek where oidrand(onek.oid, 10);
+INSERT INTO RANDOM_TBL (random)
+ SELECT count(*)
+ FROM onek WHERE oidrand(onek.oid, 10);
+
+-- now test the results for randomness in the correct range
+SELECT random, count(random) FROM RANDOM_TBL
+ GROUP BY random HAVING count(random) > 1;
+
+SELECT random FROM RANDOM_TBL
+ WHERE random NOT BETWEEN 80 AND 120;