And we have a winner!
===============================================================
=== modified file 'src/libCom/test/epicsThreadOnceTest.c'
--- src/libCom/test/epicsThreadOnceTest.c 2010-10-05 19:27:37 +0000
+++ src/libCom/test/epicsThreadOnceTest.c 2010-10-29 16:05:57 +0000
@@ -93,7 +93,7 @@
testOk(runCount == NUM_ONCE_THREADS, "runCount = %d", runCount);
epicsEventSignal(go);
- epicsThreadSleep(0.1);
+ epicsThreadSleep(1.0);
testOk(doneCount == NUM_ONCE_THREADS, "doneCount = %d", doneCount);
testDiag("init was run by %s", initBy);
=================================================================
***** epicsThreadOnceTest *****
1..11
ok 1 - runCount = 8
ok 2 - once-0: initCount = 1
ok 3 - once-1: initCount = 1
ok 4 - once-2: initCount = 1
ok 5 - once-3: initCount = 1
ok 6 - once-4: initCount = 1
ok 7 - once-5: initCount = 1
ok 8 - once-6: initCount = 1
ok 9 - once-7: initCount = 1
ok 10 - doneCount = 8
# init was run by once-0
Recursive epicsThreadOnce() initialization
Thread recurse (0xa010018) can't proceed, suspending.
ok 11 - Recursive epicsThreadOnce() detected
Results
=======
Tests: 11
Passed: 11 = 100.00%
On Oct 29, 2010, at 8:45 AM, Andrew Johnson wrote:
> On Friday 29 October 2010 10:24:18 Eric Norum wrote:
>> So can we fix this somehow? I don't like seeing failure rates greater
>> than 0.0%. I'm sure that others running the tests will also be confused
>> by this, too.
>
> Try this:
>
> === modified file 'src/libCom/test/epicsThreadOnceTest.c'
> --- src/libCom/test/epicsThreadOnceTest.c 2010-10-05 19:27:37 +0000
> +++ src/libCom/test/epicsThreadOnceTest.c 2010-10-29 15:43:59 +0000
> @@ -93,7 +93,7 @@
>
> testOk(runCount == NUM_ONCE_THREADS, "runCount = %d", runCount);
> epicsEventSignal(go);
> - epicsThreadSleep(0.1);
> + epicsThreadSleep(1.0);
>
> testOk(doneCount == NUM_ONCE_THREADS, "doneCount = %d", doneCount);
> testDiag("init was run by %s", initBy);
>
>> On Oct 29, 2010, at 8:14 AM, Davidsaver, Michael wrote:
>>>
>>> I think this is noise caused by a test of the recursive once detection.
>>> If a thread once call recurses the thread is suspended.
>
> I completely disagree, the test that failed was run before the recursive
> detection test.
>
> I'm guessing that Eric is using a fairly slow CPU which took longer than 0.1
> seconds for the ~8 context switches in the test to take place.
>
> Please keep these discussions *on* the list, it's there for archival purposes
> as much as anything; if people don't like the volume they can un-subscribe and
> just follow tech-talk.
>
> - Andrew
> --
> If a man is offered a fact which goes against his instincts, he will
> scrutinize it closely, and unless the evidence is overwhelming, he will
> refuse to believe it. If, on the other hand, he is offered something
> which affords a reason for acting in accordance to his instincts, he
> will accept it even on the slightest evidence. -- Bertrand Russell
>
--
Eric Norum
[email protected]
- References:
- Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson
- Navigate by Date:
- Prev:
Re: RTEMS tests -- epicsThreadOnce broken? Eric Norum
- Next:
Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: RTEMS tests -- epicsThreadOnce broken? Eric Norum
- Next:
Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|