fix flappy tests due to undeterministic order of test output (#4029)

As reported on #4011 https://github.com/citusdata/citus/pull/4011/files#r453804702 some of the tests were flapping due to an indeterministic order for test outputs.

This PR makes the test output ordered for all tests returning non-zero rows.

Needs to be backported to 9.2, 9.3, 9.4
release-9.2
Nils Dijk 2020-07-14 15:47:29 +02:00
parent 313a489856
commit f2ec1563c2
No known key found for this signature in database
GPG Key ID: CA1177EF9434F241
2 changed files with 20 additions and 20 deletions

View File

@ -9,14 +9,14 @@ SELECT create_distributed_table('t0', 'a');
(1 row) (1 row)
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world'); INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
SELECT "?column?" FROM t0; SELECT "?column?" FROM t0 ORDER BY 1;
?column? ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
hello hello
world world
(2 rows) (2 rows)
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a; WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a ORDER BY 1;
?column? ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
hello hello
@ -78,50 +78,50 @@ WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b;
(0 rows) (0 rows)
-- test with explicit subqueries -- test with explicit subqueries
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a ) as foo; SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a) as foo ORDER BY 1;
a | ?column? a | ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
1 | 1 |
2 | 2 |
(2 rows) (2 rows)
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo; SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo ORDER BY 1;
a | ?column? | ?column? a | ?column? | ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
1 | | 1 | |
2 | | 2 | |
(2 rows) (2 rows)
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo; SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
b | ?column? b | ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
4 |
2 | 2 |
4 |
(2 rows) (2 rows)
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo; SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
b | ?column? | ?column? b | ?column? | ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
4 | |
2 | | 2 | |
4 | |
(2 rows) (2 rows)
-- some tests that follow very similar codeoaths -- some tests that follow very similar codeoaths
SELECT a + 1 FROM t0; SELECT a + 1 FROM t0 ORDER BY 1;
?column? ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
2 2
3 3
(2 rows) (2 rows)
SELECT a + 1, a - 1 FROM t0; SELECT a + 1, a - 1 FROM t0 ORDER BY 1;
?column? | ?column? ?column? | ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
2 | 0 2 | 0
3 | 1 3 | 1
(2 rows) (2 rows)
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1; WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1 ORDER BY 1::text;
?column? ?column?
--------------------------------------------------------------------- ---------------------------------------------------------------------
1 1

View File

@ -7,9 +7,9 @@ CREATE TABLE t0 (a int PRIMARY KEY, b int, "?column?" text);
SELECT create_distributed_table('t0', 'a'); SELECT create_distributed_table('t0', 'a');
INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world'); INSERT INTO t0 VALUES (1, 2, 'hello'), (2, 4, 'world');
SELECT "?column?" FROM t0; SELECT "?column?" FROM t0 ORDER BY 1;
WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a; WITH a AS (SELECT * FROM t0) SELECT "?column?" FROM a ORDER BY 1;
WITH a AS (SELECT '' FROM t0) SELECT * FROM a; WITH a AS (SELECT '' FROM t0) SELECT * FROM a;
-- test CTE's that could be rewritten as subquery -- test CTE's that could be rewritten as subquery
@ -24,15 +24,15 @@ WITH a AS (SELECT '' FROM t0 WHERE a = 1) SELECT * FROM a, a b;
WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b; WITH a AS (SELECT '','' FROM t0 WHERE a = 42) SELECT * FROM a, a b;
-- test with explicit subqueries -- test with explicit subqueries
SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a ) as foo; SELECT * FROM (SELECT a, '' FROM t0 GROUP BY a) as foo ORDER BY 1;
SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo; SELECT * FROM (SELECT a, '', '' FROM t0 GROUP BY a ) as foo ORDER BY 1;
SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo; SELECT * FROM (SELECT b, '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo; SELECT * FROM (SELECT b, '', '' FROM t0 GROUP BY b ) as foo ORDER BY 1;
-- some tests that follow very similar codeoaths -- some tests that follow very similar codeoaths
SELECT a + 1 FROM t0; SELECT a + 1 FROM t0 ORDER BY 1;
SELECT a + 1, a - 1 FROM t0; SELECT a + 1, a - 1 FROM t0 ORDER BY 1;
WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1; WITH cte1 AS (SELECT row_to_json(row(a))->'f1' FROM t0) SELECT * FROM cte1 ORDER BY 1::text;
-- clean up after test -- clean up after test
SET client_min_messages TO WARNING; SET client_min_messages TO WARNING;