poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2] testsuite: Enable selection of tests using env var TESTS


From: Mohammad-Reza Nabipoor
Subject: [PATCH v2] testsuite: Enable selection of tests using env var TESTS
Date: Fri, 14 Jan 2022 03:05:13 +0330

This patch enables user to choose specific tests to run. Test harness
selects tests based on pattern of TESTS environment variable.

2022-01-14  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

        * testsuite/lib/poke.exp (tests_pattern): New variable.
        (tests_pattern_pk): Likewise.
        * testsuite/poke.cmd/cmd.exp: Use `tests_pattern`.
        * testsuite/poke.map/map.exp: Likewise.
        * testsuite/poke.pickles/pickles.exp: Likewise.
        * testsuite/poke.pkl/pkl.exp: Likewise.
        * testsuite/poke.pktest/pktest.exp: Likewise.
        * testsuite/poke.std/std.exp: Likewise.
        * testsuite/poke.time/time.exp: Likewise.
        * etc/hacking.org (Run selected tests): New section.
---

Hi, Jose.

I've added the documentation.
Interestingly, we didn't document `RUNTESTFLAGS` before!


Regards,
Mohammad-Reza



 ChangeLog                          | 13 +++++++++++++
 etc/hacking.org                    | 12 ++++++++++++
 testsuite/lib/poke.exp             |  9 +++++++++
 testsuite/poke.cmd/cmd.exp         |  2 +-
 testsuite/poke.map/map.exp         |  2 +-
 testsuite/poke.pickles/pickles.exp |  2 +-
 testsuite/poke.pkl/pkl.exp         |  2 +-
 testsuite/poke.pktest/pktest.exp   |  2 +-
 testsuite/poke.std/std.exp         |  2 +-
 testsuite/poke.time/time.exp       |  2 +-
 10 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 14bbc43a..77d38bd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2022-01-14  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+
+       * testsuite/lib/poke.exp (tests_pattern): New variable.
+       (tests_pattern_pk): Likewise.
+       * testsuite/poke.cmd/cmd.exp: Use `tests_pattern`.
+       * testsuite/poke.map/map.exp: Likewise.
+       * testsuite/poke.pickles/pickles.exp: Likewise.
+       * testsuite/poke.pkl/pkl.exp: Likewise.
+       * testsuite/poke.pktest/pktest.exp: Likewise.
+       * testsuite/poke.std/std.exp: Likewise.
+       * testsuite/poke.time/time.exp: Likewise.
+       * etc/hacking.org (Run selected tests): New section.
+
 2022-01-14  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
 
        * libpoke/ios-dev.h (struct ios_dev_if): Move comments to
diff --git a/etc/hacking.org b/etc/hacking.org
index af484d15..88fcf306 100644
--- a/etc/hacking.org
+++ b/etc/hacking.org
@@ -472,6 +472,18 @@ Indu Bhagat             <indu.bhagat@oracle.com>
    https://gcc.gnu.org/onlinedocs/gccint/Directives.html
    https://gcc.gnu.org/wiki/HowToPrepareATestcase
 
+** Run selected tests
+
+   Tests are categorized in different sub-directories. You can run
+   run tests of a signle category by runing
+     : make check RUNTESTFLAGS=CATEGORY.exp
+   For example, to run tests of =pkl= in =poke.pkl= sub-directory, run:
+     : make check RUNTESTFLAGS=pkl.exp
+   You can also select tests using =TESTS= environment variable.
+   As an example, to run all test files which start with =array=, you
+   can run:
+     : make check TESTS=array*.pk
+
 ** Unit Tests
 
    We are using DejaGnu's support for unit tests.  See
diff --git a/testsuite/lib/poke.exp b/testsuite/lib/poke.exp
index ce7a2425..c911ac9d 100644
--- a/testsuite/lib/poke.exp
+++ b/testsuite/lib/poke.exp
@@ -35,6 +35,15 @@ if ![info exists POKE] {
     set POKE ${objdir}/../poke/poke
 }
 
+# Pattern for selection of tests.
+
+set tests_pattern {*.pk}
+set tests_pattern_pk {*-test.pk}
+if [info exists env(TESTS)] {
+    set tests_pattern $env(TESTS)
+    set tests_pattern_pk $env(TESTS)
+}
+
 # prompt is the poke prompt to expect from the program.  As this can
 # change we can put it in a variable that can be easily modified later.
 
diff --git a/testsuite/poke.cmd/cmd.exp b/testsuite/poke.cmd/cmd.exp
index f160e69c..8a08b9d9 100644
--- a/testsuite/poke.cmd/cmd.exp
+++ b/testsuite/poke.cmd/cmd.exp
@@ -18,5 +18,5 @@
 
 load_lib ${tool}-dg.exp
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/poke.cmd/*.pk]] {} {}
+dg-runtest [lsort [glob -nocomplain $srcdir/poke.cmd/$tests_pattern]] {} {}
 dg-finish
diff --git a/testsuite/poke.map/map.exp b/testsuite/poke.map/map.exp
index f9104f1a..6b300831 100644
--- a/testsuite/poke.map/map.exp
+++ b/testsuite/poke.map/map.exp
@@ -18,5 +18,5 @@
 
 load_lib ${tool}-dg.exp
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/poke.map/*.pk]] {} {}
+dg-runtest [lsort [glob -nocomplain $srcdir/poke.map/$tests_pattern]] {} {}
 dg-finish
diff --git a/testsuite/poke.pickles/pickles.exp 
b/testsuite/poke.pickles/pickles.exp
index b0d70a58..902fdd20 100644
--- a/testsuite/poke.pickles/pickles.exp
+++ b/testsuite/poke.pickles/pickles.exp
@@ -18,4 +18,4 @@
 
 load_lib "poke-pk.exp"
 
-pk-runtest [lsort [glob -nocomplain $srcdir/poke.pickles/*-test.pk]]
+pk-runtest [lsort [glob -nocomplain $srcdir/poke.pickles/$tests_pattern_pk]]
diff --git a/testsuite/poke.pkl/pkl.exp b/testsuite/poke.pkl/pkl.exp
index c4a7fbf4..9954c20f 100644
--- a/testsuite/poke.pkl/pkl.exp
+++ b/testsuite/poke.pkl/pkl.exp
@@ -18,5 +18,5 @@
 
 load_lib ${tool}-dg.exp
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/poke.pkl/*.pk]] {} {}
+dg-runtest [lsort [glob -nocomplain $srcdir/poke.pkl/$tests_pattern]] {} {}
 dg-finish
diff --git a/testsuite/poke.pktest/pktest.exp b/testsuite/poke.pktest/pktest.exp
index da27b095..c6c3e7e3 100644
--- a/testsuite/poke.pktest/pktest.exp
+++ b/testsuite/poke.pktest/pktest.exp
@@ -18,5 +18,5 @@
 
 load_lib ${tool}-dg.exp
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/poke.pktest/*.pk]] {} {}
+dg-runtest [lsort [glob -nocomplain $srcdir/poke.pktest/$tests_pattern]] {} {}
 dg-finish
diff --git a/testsuite/poke.std/std.exp b/testsuite/poke.std/std.exp
index ba0aae37..f26ad0b8 100644
--- a/testsuite/poke.std/std.exp
+++ b/testsuite/poke.std/std.exp
@@ -18,4 +18,4 @@
 
 load_lib "poke-pk.exp"
 
-pk-runtest [lsort [glob -nocomplain $srcdir/poke.std/*-test.pk]]
+pk-runtest [lsort [glob -nocomplain $srcdir/poke.std/$tests_pattern_pk]]
diff --git a/testsuite/poke.time/time.exp b/testsuite/poke.time/time.exp
index e895f1bf..eb7b5b70 100644
--- a/testsuite/poke.time/time.exp
+++ b/testsuite/poke.time/time.exp
@@ -18,5 +18,5 @@
 
 load_lib ${tool}-dg.exp
 dg-init
-dg-runtest [lsort [glob -nocomplain $srcdir/poke.time/*.pk]] {} {}
+dg-runtest [lsort [glob -nocomplain $srcdir/poke.time/$tests_pattern]] {} {}
 dg-finish
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]