From 6c471f2f6675ed32e6d550adfda1106f1baf1421 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 26 Dec 2018 20:29:50 -0800 Subject: [PATCH] tests: Tag all the tests that take more than about 1s as "slow". This makes it possible to run a quicker set of tests, which still have pretty good coverage, with something like this: make -j10 check TESTSUITEFLAGS='-j10 -k !slow' --- tests/data/data-in.at | 9 ++++++--- tests/data/data-out.at | 2 +- tests/data/datasheet-test.at | 2 +- tests/language/data-io/get-data-psql.at | 1 + tests/language/stats/graph.at | 3 ++- tests/language/stats/quick-cluster.at | 1 + tests/language/stats/sort-cases.at | 18 +++++++++--------- tests/libpspp/abt.at | 3 ++- tests/libpspp/bt.at | 3 ++- tests/libpspp/ll.at | 5 +++-- tests/libpspp/llx.at | 5 +++-- tests/libpspp/range-tower.at | 1 + tests/libpspp/sparse-array.at | 6 +++--- tests/libpspp/sparse-xarray-test.at | 6 ++++-- tests/libpspp/string-map.at | 10 +++++----- tests/libpspp/stringi-map.at | 10 +++++----- tests/libpspp/stringi-set.at | 24 ++++++++++++------------ tests/output/charts.at | 1 + tests/ui/terminal/main.at | 1 + 19 files changed, 63 insertions(+), 48 deletions(-) diff --git a/tests/data/data-in.at b/tests/data/data-in.at index d27b7fe86e..94ff261648 100644 --- a/tests/data/data-in.at +++ b/tests/data/data-in.at @@ -51,7 +51,7 @@ EOF m4_divert_pop([PREPARE_TESTS]) AT_SETUP([numeric input formats]) -AT_KEYWORDS([data-in]) +AT_KEYWORDS([data-in slow]) data_in_prng AT_CHECK([$PERL test-my-rand.pl]) AT_DATA([num-in.pl], @@ -326,7 +326,7 @@ AT_CHECK([cat wkyr.output], [0], [expout]) AT_CLEANUP AT_SETUP([DATETIME input format]) -AT_KEYWORDS([data-in]) +AT_KEYWORDS([data-in slow]) AT_SKIP_IF([test "$PYTHON" = none]) AT_CHECK([$PYTHON $top_srcdir/tests/data/test-date-input.py datetime "d-m-y +H:M" "d-m-y +H:M:S"]) AT_FAIL_IF([test ! -s datetime.sps || test ! -s datetime.input || \ @@ -336,7 +336,7 @@ AT_CHECK([cat datetime.output], [0], [expout]) AT_CLEANUP AT_SETUP([YMDHMS input format]) -AT_KEYWORDS([data-in]) +AT_KEYWORDS([data-in slow]) AT_SKIP_IF([test "$PYTHON" = none]) AT_CHECK([$PYTHON $top_srcdir/tests/data/test-date-input.py ymdhms "y-m-d +H:M" "y-m-d +H:M:S"]) AT_FAIL_IF([test ! -s ymdhms.sps || test ! -s ymdhms.input || \ @@ -373,6 +373,7 @@ AT_CHECK([cat dtime.output], [0], [expout]) AT_CLEANUP AT_SETUP([binary and hexadecimal input (IB, PIB, and PIBHEX formats)]) +AT_KEYWORDS([slow]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > binhex-in.data]) AT_CHECK([[wc -c < binhex-in.data | sed 's/[ ]//g']], [0], [131072 ]) @@ -394,6 +395,7 @@ AT_CHECK([cat binhex-in.out], [0], [expout]) AT_CLEANUP AT_SETUP([BCD input (P and PK formats)]) +AT_KEYWORDS([slow]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > bcd-in.data]) AT_CHECK([[wc -c < bcd-in.data | sed 's/[ ]//g']], [0], [131072 ]) @@ -414,6 +416,7 @@ AT_CHECK([cat bcd-in.out], [0], [expout]) AT_CLEANUP AT_SETUP([legacy input (N and Z formats)]) +AT_KEYWORDS([slow]) AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > legacy-in.data]) AT_CHECK([[wc -c < legacy-in.data | sed 's/[ ]//g']], [0], [131072 ]) diff --git a/tests/data/data-out.at b/tests/data/data-out.at index 3d696c7fa3..8b2b419577 100644 --- a/tests/data/data-out.at +++ b/tests/data/data-out.at @@ -17,7 +17,7 @@ dnl AT_BANNER([data output (data-out)]) AT_SETUP([numeric format output]) -AT_KEYWORDS([data-out]) +AT_KEYWORDS([data-out slow]) AT_DATA([num-out.pl], [[use strict; use warnings 'all'; diff --git a/tests/data/datasheet-test.at b/tests/data/datasheet-test.at index 0b24cfa821..b25660cdd2 100644 --- a/tests/data/datasheet-test.at +++ b/tests/data/datasheet-test.at @@ -18,7 +18,7 @@ AT_BANNER([datasheet]) m4_define([DATASHEET_TEST], [AT_SETUP([$1x$2, $3 backing rows, backing widths $4]) - AT_KEYWORDS([datasheet]) + AT_KEYWORDS([datasheet slow]) AT_CHECK( [datasheet-test --verbosity=0 --max-rows=$1 --max-columns=$2 \ --backing-rows=$3 --backing-widths=$4], diff --git a/tests/language/data-io/get-data-psql.at b/tests/language/data-io/get-data-psql.at index b389797c98..b6bfc8f2cd 100644 --- a/tests/language/data-io/get-data-psql.at +++ b/tests/language/data-io/get-data-psql.at @@ -145,6 +145,7 @@ m4_define([INIT_PSQL], m4_define([CLEANUP_PSQL], [PATH=$PG_PATH:$PATH pg_ctl stop -W -o "-k $socket_dir -h ''"]) AT_SETUP([GET DATA /TYPE=PSQL]) +AT_KEYWORDS([slow]) INIT_PSQL dnl Test with an ordinary query. diff --git a/tests/language/stats/graph.at b/tests/language/stats/graph.at index 5fc6f82cc4..6a8089c0a2 100644 --- a/tests/language/stats/graph.at +++ b/tests/language/stats/graph.at @@ -41,6 +41,7 @@ AT_CLEANUP AT_SETUP([GRAPH Scatter and Histogram]) +AT_KEYWORDS([slow]) AT_DATA([scatterlong.sps],[ NEW FILE. INPUT PROGRAM. @@ -345,4 +346,4 @@ GRAPH /BAR = MINIMUM({) BY z BY y. AT_CHECK([pspp -o pspp.pdf barchart.sps], [1], [ignore]) dnl Ignore output -- this is just a no-crash check. -AT_CLEANUP \ No newline at end of file +AT_CLEANUP diff --git a/tests/language/stats/quick-cluster.at b/tests/language/stats/quick-cluster.at index 4580e412d2..ee790ac856 100644 --- a/tests/language/stats/quick-cluster.at +++ b/tests/language/stats/quick-cluster.at @@ -60,6 +60,7 @@ Valid,,11 AT_CLEANUP AT_SETUP([QUICK CLUSTER with large data set]) +AT_KEYWORDS([slow]) AT_DATA([quick-cluster.sps], [dnl input program. loop #i = 1 to 50000. diff --git a/tests/language/stats/sort-cases.at b/tests/language/stats/sort-cases.at index 4f6492d964..4624dbfdde 100644 --- a/tests/language/stats/sort-cases.at +++ b/tests/language/stats/sort-cases.at @@ -55,7 +55,7 @@ m4_divert_pop([PREPARE_TESTS]) m4_define([SORT_CASES_TEST], [AT_SETUP([sort m4_eval([$1 * $2]) cases[]m4_if([$2], [1], [], [ ($1 unique)])[]m4_if([$3], [], [], [ with $3 buffers])]) - AT_KEYWORDS([SORT CASES]) + AT_KEYWORDS([SORT CASES $4]) AT_CHECK([sort_cases_gen_data $1 $2 $3]) AT_CAPTURE_FILE([data.txt]) AT_CAPTURE_FILE([output.txt]) @@ -84,17 +84,17 @@ SORT_CASES_TEST(100, 10, 3) SORT_CASES_TEST(100, 10, 5) SORT_CASES_TEST(100, 10) -SORT_CASES_TEST(1000, 5, 5) -SORT_CASES_TEST(1000, 5, 50) -SORT_CASES_TEST(1000, 5) +SORT_CASES_TEST(1000, 5, 5, slow) +SORT_CASES_TEST(1000, 5, 50, slow) +SORT_CASES_TEST(1000, 5, [], slow) -SORT_CASES_TEST(100, 100, 3) -SORT_CASES_TEST(100, 100, 5) -SORT_CASES_TEST(100, 100) +SORT_CASES_TEST(100, 100, 3, slow) +SORT_CASES_TEST(100, 100, 5, slow) +SORT_CASES_TEST(100, 100, [], slow) -SORT_CASES_TEST(10000, 5, 500) +SORT_CASES_TEST(10000, 5, 500, slow) -SORT_CASES_TEST(50000, 1) +SORT_CASES_TEST(50000, 1, [], slow) dnl Bug #33089 caused SORT CASES to delete filtered cases permanently. AT_SETUP([SORT CASES preserves filtered cases]) diff --git a/tests/libpspp/abt.at b/tests/libpspp/abt.at index df4b34a8b2..454acb512e 100644 --- a/tests/libpspp/abt.at +++ b/tests/libpspp/abt.at @@ -18,13 +18,14 @@ AT_BANNER([Augmented binary tree (ABT) library]) m4_define([CHECK_ABT], [AT_SETUP([ABT -- $1]) + AT_KEYWORDS([$2]) AT_CHECK([abt-test $1]) AT_CLEANUP]) CHECK_ABT([insert-any-remove-any]) CHECK_ABT([insert-any-remove-same]) CHECK_ABT([insert-any-remove-reverse]) -CHECK_ABT([random-sequence]) +CHECK_ABT([random-sequence], [slow]) CHECK_ABT([insert-ordered]) CHECK_ABT([moved]) CHECK_ABT([changed]) diff --git a/tests/libpspp/bt.at b/tests/libpspp/bt.at index 838364184b..7d907bd896 100644 --- a/tests/libpspp/bt.at +++ b/tests/libpspp/bt.at @@ -18,13 +18,14 @@ AT_BANNER([Balanced tree (BT) library]) m4_define([CHECK_BT], [AT_SETUP([BT -- $1]) + AT_KEYWORDS([$2]) AT_CHECK([bt-test $1]) AT_CLEANUP]) CHECK_BT([insert-any-remove-any]) CHECK_BT([insert-any-remove-same]) CHECK_BT([insert-any-remove-reverse]) -CHECK_BT([random-sequence]) +CHECK_BT([random-sequence], [slow]) CHECK_BT([insert-ordered]) CHECK_BT([find-ge-le]) CHECK_BT([moved]) diff --git a/tests/libpspp/ll.at b/tests/libpspp/ll.at index 36c9f51b7e..fc83402ccd 100644 --- a/tests/libpspp/ll.at +++ b/tests/libpspp/ll.at @@ -18,6 +18,7 @@ AT_BANNER([doubly linked list (ll) library]) m4_define([CHECK_LL], [AT_SETUP([ll -- $1]) + AT_KEYWORDS([$2]) AT_CHECK([ll-test $1]) AT_CLEANUP]) @@ -41,8 +42,8 @@ CHECK_LL([apply]) CHECK_LL([reverse]) CHECK_LL([permutations-no-dups]) CHECK_LL([permutations-with-dups]) -CHECK_LL([merge-no-dups]) -CHECK_LL([merge-with-dups]) +CHECK_LL([merge-no-dups], [slow]) +CHECK_LL([merge-with-dups], [slow]) CHECK_LL([sort-exhaustive]) CHECK_LL([sort-stable]) CHECK_LL([sort-subset]) diff --git a/tests/libpspp/llx.at b/tests/libpspp/llx.at index 7b7507296f..7158ff262f 100644 --- a/tests/libpspp/llx.at +++ b/tests/libpspp/llx.at @@ -18,6 +18,7 @@ AT_BANNER([doubly linked list of pointers (llx) library]) m4_define([CHECK_LLX], [AT_SETUP([llx -- $1]) + AT_KEYWORDS([$2]) AT_CHECK([llx-test $1]) AT_CLEANUP]) @@ -42,8 +43,8 @@ CHECK_LLX([destroy]) CHECK_LLX([reverse]) CHECK_LLX([permutations-no-dups]) CHECK_LLX([permutations-with-dups]) -CHECK_LLX([merge-no-dups]) -CHECK_LLX([merge-with-dups]) +CHECK_LLX([merge-no-dups], [slow]) +CHECK_LLX([merge-with-dups], [slow]) CHECK_LLX([sort-exhaustive]) CHECK_LLX([sort-stable]) CHECK_LLX([sort-subset]) diff --git a/tests/libpspp/range-tower.at b/tests/libpspp/range-tower.at index 981b0ba8bf..13e160ed67 100644 --- a/tests/libpspp/range-tower.at +++ b/tests/libpspp/range-tower.at @@ -18,6 +18,7 @@ AT_BANNER([range tower library]) m4_define([CHECK_RANGE_TOWER], [AT_SETUP([range-tower -- $1]) + AT_KEYWORDS([slow]) AT_CHECK([range-tower-test $1]) AT_CLEANUP]) diff --git a/tests/libpspp/sparse-array.at b/tests/libpspp/sparse-array.at index 83ff809fb7..778a8c30b5 100644 --- a/tests/libpspp/sparse-array.at +++ b/tests/libpspp/sparse-array.at @@ -18,14 +18,14 @@ AT_BANNER([sparse array library]) m4_define([CHECK_SPARSE_ARRAY], [AT_SETUP([sparse array -- $1]) - AT_KEYWORDS([sparse-array]) + AT_KEYWORDS([sparse-array $2]) AT_CHECK([sparse-array-test $1]) AT_CLEANUP]) -CHECK_SPARSE_ARRAY([random-insert-delete]) +CHECK_SPARSE_ARRAY([random-insert-delete], [slow]) AT_SETUP([sparse array -- insert and delete with strides]) -AT_KEYWORDS([sparse-array]) +AT_KEYWORDS([sparse-array slow]) AT_CHECK([sparse-array-test insert-delete-strides], [0], [dnl 1 2 diff --git a/tests/libpspp/sparse-xarray-test.at b/tests/libpspp/sparse-xarray-test.at index 76f0c3362d..00fa4fb00d 100644 --- a/tests/libpspp/sparse-xarray-test.at +++ b/tests/libpspp/sparse-xarray-test.at @@ -56,6 +56,7 @@ m4_divert_push([PREPARE_TESTS]) m4_divert_pop([PREPARE_TESTS]) AT_SETUP([in-memory sparse_xarray]) +AT_KEYWORDS([slow]) dnl --values=3 would be a slightly better test but takes much longer. AT_CHECK([sparse-xarray-test \ --verbosity=0 --queue-limit=`sparse_xarray_queue_limit` \ @@ -65,6 +66,7 @@ AT_CLEANUP m4_define([SPARSE_XARRAY_ON_DISK], [AT_SETUP([on-disk sparse_xarray max-memory-rows=$1]) + AT_KEYWORDS([slow]) AT_CHECK([sparse-xarray-test \ --verbosity=0 --queue-limit=`sparse_xarray_queue_limit` \ --columns=2 --max-rows=3 --max-memory-rows=$1 --values=2], @@ -75,7 +77,7 @@ SPARSE_XARRAY_ON_DISK([1]) SPARSE_XARRAY_ON_DISK([2]) AT_SETUP([copying between in-memory sparse_xarrays]) -AT_KEYWORDS([sparse_xarray]) +AT_KEYWORDS([sparse_xarray slow]) AT_CHECK([sparse-xarray-test \ --verbosity=0 --queue-limit=`sparse_xarray_queue_limit` \ --columns=2 --max-rows=2 --max-memory-rows=2 --values=2 \ @@ -85,7 +87,7 @@ AT_CLEANUP m4_define([SPARSE_XARRAY_COPY_DISK], [AT_SETUP([copying between on-disk sparse_xarrays max-memory-rows=$1]) - AT_KEYWORDS([sparse_xarray]) + AT_KEYWORDS([sparse_xarray slow]) limit=`sparse_xarray_queue_limit` AT_CHECK([sparse-xarray-test \ --verbosity=0 --queue-limit=`expr $limit / 2` \ diff --git a/tests/libpspp/string-map.at b/tests/libpspp/string-map.at index 5732ec7535..a1fbf31d18 100644 --- a/tests/libpspp/string-map.at +++ b/tests/libpspp/string-map.at @@ -18,14 +18,14 @@ AT_BANNER([string map library]) m4_define([CHECK_STRING_MAP], [AT_SETUP([string map -- $1]) - AT_KEYWORDS([string-map]) + AT_KEYWORDS([string-map $2]) AT_CHECK([string-map-test $1]) AT_CLEANUP]) -CHECK_STRING_MAP([insert-any-remove-any]) -CHECK_STRING_MAP([insert-any-remove-same]) -CHECK_STRING_MAP([insert-any-remove-reverse]) -CHECK_STRING_MAP([random-sequence]) +CHECK_STRING_MAP([insert-any-remove-any], [slow]) +CHECK_STRING_MAP([insert-any-remove-same], [slow]) +CHECK_STRING_MAP([insert-any-remove-reverse], [slow]) +CHECK_STRING_MAP([random-sequence], [slow]) CHECK_STRING_MAP([replace]) CHECK_STRING_MAP([insert-ordered]) CHECK_STRING_MAP([clear]) diff --git a/tests/libpspp/stringi-map.at b/tests/libpspp/stringi-map.at index 61a916dd25..1724d30bee 100644 --- a/tests/libpspp/stringi-map.at +++ b/tests/libpspp/stringi-map.at @@ -18,14 +18,14 @@ AT_BANNER([case-insensitive string map library]) m4_define([CHECK_STRINGI_MAP], [AT_SETUP([case-insensitive string map -- $1]) - AT_KEYWORDS([stringi-map]) + AT_KEYWORDS([stringi-map $2]) AT_CHECK([stringi-map-test $1]) AT_CLEANUP]) -CHECK_STRINGI_MAP([insert-any-remove-any]) -CHECK_STRINGI_MAP([insert-any-remove-same]) -CHECK_STRINGI_MAP([insert-any-remove-reverse]) -CHECK_STRINGI_MAP([random-sequence]) +CHECK_STRINGI_MAP([insert-any-remove-any], [slow]) +CHECK_STRINGI_MAP([insert-any-remove-same], [slow]) +CHECK_STRINGI_MAP([insert-any-remove-reverse], [slow]) +CHECK_STRINGI_MAP([random-sequence], [slow]) CHECK_STRINGI_MAP([replace]) CHECK_STRINGI_MAP([insert-ordered]) CHECK_STRINGI_MAP([clear]) diff --git a/tests/libpspp/stringi-set.at b/tests/libpspp/stringi-set.at index 16594c0be5..98bf6dc375 100644 --- a/tests/libpspp/stringi-set.at +++ b/tests/libpspp/stringi-set.at @@ -18,20 +18,20 @@ AT_BANNER([case-insensitive string set library]) m4_define([CHECK_STRINGI_SET], [AT_SETUP([case-insensitive string set -- $1]) - AT_KEYWORDS([stringi-set]) + AT_KEYWORDS([stringi-set $2]) AT_CHECK([stringi-set-test $1]) AT_CLEANUP]) -CHECK_STRINGI_SET([insert-any-remove-any]) -CHECK_STRINGI_SET([insert-any-remove-same]) -CHECK_STRINGI_SET([insert-any-remove-reverse]) -CHECK_STRINGI_SET([random-sequence]) +CHECK_STRINGI_SET([insert-any-remove-any], [slow]) +CHECK_STRINGI_SET([insert-any-remove-same], [slow]) +CHECK_STRINGI_SET([insert-any-remove-reverse], [slow]) +CHECK_STRINGI_SET([random-sequence], [slow]) CHECK_STRINGI_SET([insert-ordered]) -CHECK_STRINGI_SET([union]) -CHECK_STRINGI_SET([union-and-intersection]) -CHECK_STRINGI_SET([intersect]) -CHECK_STRINGI_SET([subtract]) -CHECK_STRINGI_SET([swap]) -CHECK_STRINGI_SET([clear]) -CHECK_STRINGI_SET([clone]) +CHECK_STRINGI_SET([union], [slow]) +CHECK_STRINGI_SET([union-and-intersection], [slow]) +CHECK_STRINGI_SET([intersect], [slow]) +CHECK_STRINGI_SET([subtract], [slow]) +CHECK_STRINGI_SET([swap], [slow]) +CHECK_STRINGI_SET([clear], [slow]) +CHECK_STRINGI_SET([clone], [slow]) CHECK_STRINGI_SET([destroy-null]) diff --git a/tests/output/charts.at b/tests/output/charts.at index 28d5ac672e..dafe416141 100644 --- a/tests/output/charts.at +++ b/tests/output/charts.at @@ -22,6 +22,7 @@ dnl should generate them, run without crashing. dnl Better tests will come later (hopefully) AT_SETUP([Examine]) +AT_KEYWORDS([slow]) AT_DATA([charts.sps],[ input program. loop #i = 1 to 1000. diff --git a/tests/ui/terminal/main.at b/tests/ui/terminal/main.at index 9da187fa45..4a07f6dd20 100644 --- a/tests/ui/terminal/main.at +++ b/tests/ui/terminal/main.at @@ -23,6 +23,7 @@ AT_CHECK([pspp nonexistent], [1], AT_CLEANUP AT_SETUP([SIGTERM yields clean shutdown]) +AT_KEYWORDS([slow]) AT_DATA([main.sps], [dnl INPUT PROGRAM. COMPUTE x = x + 1. -- 2.30.2