diff --git a/test/validate/array.st b/test/validate/array.st index 0ace97fccb579d155bcedecafa6b5e5ce61f480b..cbd27c27515d4c2547df087282202f9bffd91363 100644 --- a/test/validate/array.st +++ b/test/validate/array.st @@ -9,7 +9,7 @@ program arrayTest %%#include "../testSupport.h" entry { - testPlan(20); + seq_test_init(20); } ss array { @@ -44,6 +44,5 @@ ss array { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/assign.st b/test/validate/assign.st index 0265acadac088694243b9acb76cab69764112e86..28e311610dc363feeb37a46bde39fe15bd91d840 100644 --- a/test/validate/assign.st +++ b/test/validate/assign.st @@ -16,7 +16,7 @@ foreign pvStatERROR; #define NTESTS 3 entry { - testPlan(NTESTS); + seq_test_init(NTESTS); } ss w { @@ -46,6 +46,5 @@ ss r { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/bittypes.st b/test/validate/bittypes.st index 86582f6d45ba65d15009fbbe245423075852a40a..f5048fe93bb71e25a116682b9ef45bba92a2b3a0 100644 --- a/test/validate/bittypes.st +++ b/test/validate/bittypes.st @@ -23,7 +23,7 @@ assign i32 to "ushort"; assign ui32 to "ushort"; entry { - testPlan(12); + seq_test_init(12); } ss test { @@ -74,6 +74,5 @@ ss test { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/change.st b/test/validate/change.st index 0bed670bc7c2b86be21b442a6da7f7c7ad5b4a88..01246ae72d2225d0927c897de83816bf814b9fdd 100644 --- a/test/validate/change.st +++ b/test/validate/change.st @@ -14,7 +14,7 @@ program changeTest #define MAX_TEST 50 entry { - testPlan(MAX_TEST); + seq_test_init(MAX_TEST); /* uncomment for repeatability */ /* srandom(12345); */ } @@ -72,6 +72,5 @@ ss main { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/commaOperator.st b/test/validate/commaOperator.st index 09439b1ec90d12d636e4000d539c4c772b35f97a..e38ed81ff781fe4a253dcec72a5030fcc7ad6c56 100644 --- a/test/validate/commaOperator.st +++ b/test/validate/commaOperator.st @@ -9,7 +9,7 @@ program commaOperatorTest %%#include "../testSupport.h" entry { - testPlan(4); + seq_test_init(4); } ss myss { @@ -25,6 +25,5 @@ ss myss { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/evflag.st b/test/validate/evflag.st index 2edb147eba70f8ff1cdbcc08dd612ab980c67196..d90f21b1ffa4005d38e96db6ac15a3002c7a4ccf 100644 --- a/test/validate/evflag.st +++ b/test/validate/evflag.st @@ -26,7 +26,7 @@ monitor anonymous; sync anonymous to ef_anonymous; entry { - testPlan(0); + seq_test_init(0); efClear(ef_named); } @@ -74,6 +74,5 @@ ss write { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/local.st b/test/validate/local.st index 390ab7eed12bcc1ebd4ec3525218c0de52895272..f894ec593f25e2a7a6e25e30ce02603915424797 100644 --- a/test/validate/local.st +++ b/test/validate/local.st @@ -16,7 +16,7 @@ option +r; int i = 1; entry { - testPlan(5); + seq_test_init(5); } /* only state-set */ @@ -41,6 +41,5 @@ ss start { /* exit handler */ exit { testOk(i==1, "global i==%d", i); - testDone(); seq_test_done(); } diff --git a/test/validate/makeStCmd.pl b/test/validate/makeStCmd.pl index 82277fb9821ba410646a98f0ca3d473a89866996..36b7210aebb92cb32f85f690e38d7779b050205f 100644 --- a/test/validate/makeStCmd.pl +++ b/test/validate/makeStCmd.pl @@ -2,4 +2,7 @@ print "testHarness\n"; foreach my $x (@ARGV) { print "run_seq_test \&${x}Test\n" } +foreach my $x (@ARGV) { + print "run_seq_test \&${x}Test, 1\n" +} print "epicsExit\n"; diff --git a/test/validate/opttVar.st b/test/validate/opttVar.st index d34b46fa0dff771d2d669afe778a6ebdab01d9cf..1d488c9155fc98d7464cc04d7d927ab2ba07ba16 100644 --- a/test/validate/opttVar.st +++ b/test/validate/opttVar.st @@ -23,7 +23,7 @@ monitor msg; syncq msg 40; entry { - testPlan(40); + seq_test_init(40); } ss low_high { @@ -118,6 +118,5 @@ ss check { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/pvGet.st b/test/validate/pvGet.st index a6623fa0ceb0e24c0118dd0297bfd7c9569703ba..217a13b165050c191aae7b639d962bd698137091 100644 --- a/test/validate/pvGet.st +++ b/test/validate/pvGet.st @@ -24,7 +24,7 @@ assign anon; evflag ef_read_named, ef_read_anon, ef_read_named_sync, ef_read_anon_sync; entry { - testPlan(MAX_GET*4*3); + seq_test_init(MAX_GET*4*3); mutex = epicsMutexMustCreate(); } @@ -205,6 +205,5 @@ ss write { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/pvPutAsync.st b/test/validate/pvPutAsync.st index 518f08ad27e386e4367621c9e603a4fdab5c1250..296841fcd3ce2f78c67b74dcdabff0a6673c75cb 100644 --- a/test/validate/pvPutAsync.st +++ b/test/validate/pvPutAsync.st @@ -14,7 +14,7 @@ int x; assign x to "pvPutAsync1"; entry { - testPlan(10); + seq_test_init(10); } ss test1 { @@ -84,6 +84,5 @@ ss test2 { #endif exit { - testDone(); seq_test_done(); } diff --git a/test/validate/pvSync.st b/test/validate/pvSync.st index e0efd3192b29d9c73ef7ed70b92a812f46097bcf..6ec1136e9ed96a74456eb0b1f229f490a98946ff 100644 --- a/test/validate/pvSync.st +++ b/test/validate/pvSync.st @@ -17,7 +17,7 @@ monitor x; evflag f; entry { - testPlan(5); + seq_test_init(5); pvSync(x,f); } @@ -48,6 +48,5 @@ ss help { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/raceCommon.st b/test/validate/raceCommon.st index a49dac14ce0d706d337dfaf97b12fcd7f8a667ef..34ef364c60c4f2d61b76884b312437766ac35789 100644 --- a/test/validate/raceCommon.st +++ b/test/validate/raceCommon.st @@ -21,7 +21,7 @@ foreign MAX_STRING_SIZE; #define MAX_TESTS 30 entry { - testPlan(MAX_TESTS); + seq_test_init(MAX_TESTS); testDiag("This test will run for %d seconds...", MAX_TESTS); } @@ -148,6 +148,5 @@ ss stop { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/reassign.st b/test/validate/reassign.st index a25f01e688e2f68976a1e638b8eb8ef774cb2064..9fe6e8d416b3cfae0a52493d4c25064e20e755ff 100644 --- a/test/validate/reassign.st +++ b/test/validate/reassign.st @@ -20,7 +20,7 @@ foreign pvStatOK; #define NTESTS 30 entry { - testPlan(NTESTS); + seq_test_init(NTESTS); } ss reassign { @@ -93,6 +93,5 @@ ss reassign { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/safeModeNotAssigned.st b/test/validate/safeModeNotAssigned.st index 9063cf8e71855859498247db602b1154990d458a..0ba970a83ac67f90b104fc93b13d94cd11be58cc 100644 --- a/test/validate/safeModeNotAssigned.st +++ b/test/validate/safeModeNotAssigned.st @@ -15,7 +15,7 @@ int v = 0; #define MAX_TEST 10 entry { - testPlan(MAX_TEST*2); + seq_test_init(MAX_TEST*2); } ss ss1 { @@ -48,6 +48,5 @@ ss ss2 { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/safeMonitor.st b/test/validate/safeMonitor.st index 46b5d935e19c3632ccecdd3f2b05b44c39d876e7..70116db969664ba1e6a5b26238fc50d5bc4a4cef 100644 --- a/test/validate/safeMonitor.st +++ b/test/validate/safeMonitor.st @@ -19,7 +19,7 @@ sync cnt to ef_cnt; #define MAX_TEST 10 entry { - testPlan(MAX_TEST); + seq_test_init(MAX_TEST); } ss read { @@ -50,6 +50,5 @@ ss write { } exit { - testDone(); seq_test_done(); } diff --git a/test/validate/testSupport.c b/test/validate/testSupport.c index a609bf91f864def87f1751829304f2bf3c6ffe44..3116653033cda4896d5e33dbf2e3ae1685dc03c2 100644 --- a/test/validate/testSupport.c +++ b/test/validate/testSupport.c @@ -13,8 +13,8 @@ in the file LICENSE that is included with this distribution. #include "../testSupport.h" static epicsEventId this_test_done; - static seqProgram *prog; +int seq_test_raise_priority; static int doit(void) { @@ -22,8 +22,9 @@ static int doit(void) return 0; } -void run_seq_test(seqProgram *seqProg) +void run_seq_test(seqProgram *seqProg, int raise_priority) { + seq_test_raise_priority = raise_priority; if (!this_test_done) { this_test_done = epicsEventMustCreate(epicsEventEmpty); } @@ -32,8 +33,17 @@ void run_seq_test(seqProgram *seqProg) epicsEventWait(this_test_done); } +void seq_test_init(int num_tests) +{ + testPlan(num_tests); + if (seq_test_raise_priority) { + epicsThreadSetPriority(epicsThreadGetIdSelf(), epicsThreadPriorityHigh); + } +} + void seq_test_done(void) { + testDone(); #if defined(vxWorks) epicsEventSignal(this_test_done); #else diff --git a/test/validate/testSupport.h b/test/validate/testSupport.h index b8c58fa7b5b316af9a2e01aac3de397e02f2bdf9..20cc0374788831f846a7dd3a35c544ff71a45cf5 100644 --- a/test/validate/testSupport.h +++ b/test/validate/testSupport.h @@ -11,7 +11,8 @@ in the file LICENSE that is included with this distribution. #include "epicsMutex.h" #include "epicsUnitTest.h" -void run_seq_test(seqProgram *seqProg); +void run_seq_test(seqProgram *seqProg, int raise_priority); +void seq_test_init(int num_tests); void seq_test_done(void); #endif /* INCtestSupport_h */ diff --git a/test/validate/userfunc.st b/test/validate/userfunc.st index 312a177425554032315866b5a8266da2a2d10ffc..3ea7cb8dcd0922b2e9c46e8217981c7f621e1af6 100644 --- a/test/validate/userfunc.st +++ b/test/validate/userfunc.st @@ -26,7 +26,7 @@ monitor i; foreign pVar, ssId; entry { - testPlan(10); + seq_test_init(10); } ss myss { @@ -43,6 +43,5 @@ ss myss { } exit { - testDone(); seq_test_done(); }