Update the random test so it should succeed most of the time.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Mon, 17 Aug 1998 16:11:35 +0000 (16:11 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Mon, 17 Aug 1998 16:11:35 +0000 (16:11 +0000)
Instead of directly showing the random results, test the results
 for the expected behavior (range and randomness).

src/test/regress/expected/random.out
src/test/regress/output/misc.source
src/test/regress/sql/random.sql

index 1badd4076141a2e94f4fe134358cc8f274e1c828..a0592ac369d632fd74a7eb64960c348a680f977e 100644 (file)
@@ -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)
 
index 0df73072f5e2a471de066f714edfeb1ce836242c..39a6101031309c6ab02f969608b1124da18b7f4e 100644 (file)
@@ -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)
 
index 6e541341af3f936e49c86bbed2823a7180d5d052..6463c7bf8bd8c791cdccf60a028ef331e75b2f13 100644 (file)
@@ -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;