diff --git a/test/validate/pvGetCancel.st b/test/validate/pvGetCancel.st index 2c25310aa0a33542ae3795796cd764ca3378b425..16ddc67ceb75ea88768a260669226d1c30a8086d 100644 --- a/test/validate/pvGetCancel.st +++ b/test/validate/pvGetCancel.st @@ -10,8 +10,10 @@ program pvGetCancelTest %%#include "../testSupport.h" +#define NRUNS 50 + entry { - seq_test_init(8); + seq_test_init(8*NRUNS); testDiag("start"); } @@ -21,12 +23,22 @@ ss pvGetCancel { assign x to { "pvGetCancel1", "pvGetCancel2"}; assign y to { "pvGetCancel1", "pvGetCancel2"}; typename pvStat status; + int n = 0; + state done { + when (n < NRUNS) { + n++; + } state test + when (delay(0.2)) { + } exit + } state test { entry { testOk1(pvGet(x[0],ASYNC) == pvStatOK); testOk1(pvGet(x[1],ASYNC) == pvStatOK); pvGetCancel(x); + x[0] = x[1] = 0; + y[0] = y[1] = 1; testOk1(pvPut(y[0],SYNC) == pvStatOK); testOk1(pvPut(y[1],SYNC) == pvStatOK); testOk1(pvGet(x[0],ASYNC) == pvStatOK); @@ -41,10 +53,6 @@ ss pvGetCancel { testOk1(x[1] == y[1]); } state done } - state done { - when (delay(0.2)) { - } exit - } } exit {