When i running open_posix test cases, i get below message:

functional/threads/pi_test/pitest-4: execution: FAILED: Output: 
Main Thread: Creating sample thread
Main Thread: Creating 3 TF threads
Thread Sampler: started
Thread TF index 3: started
Thread TF index 4: started
Thread TF index 2: started
Main Thread: Creating TP thread
Thread TP index 1: started
Main Thread: Creating TL thread
Thread TL index 0: started
# COLUMNS 6 Time TL TP TF0 TF1 TF2 #EVENT 0.000501 Thread TF Started

#EVENT 0.000513 Thread TF Started
0.000600 0 0 0 0 0 
#EVENT 0.000562 Thread TF Started
0.301718 0 0 12 25 12 
0.602722 0 0 25 50 25 

... snip ...

8.428881 0 0 361 713 362 
8.729887 0 0 374 739 375 
#EVENT 9.001983 Thread TP Started
9.030893 0 1 387 763 388 
9.331900 0 9 400 780 401 

... snip ...

18.663090 0 222 800 1358 803 
18.964096 0 230 813 1377 816 
#EVENT 19.003179 Thread TL Started
19.265103 5 235 826 1391 829 
19.566109 9 244 839 1404 842 

... snip ...

37.927483 372 665 1627 2182 1634 
38.228490 380 670 1640 2194 1647 
38.529496 385 67Thread TB2: started
../../../functional/threads/pi_test/pitest-4.c: 237: FAIL: Thread TB2: lock 
mutex2 returned 0 Success, slept 0.000007

Maybe we need to apply the followed patch.

---------------------------------------------------------------------
TB2 has a higher priority, it may lock mutex2 earlier than TB1, so
pthread_mutex_timedlock can return 0 immediately.

I think that reports UNRESOLVED is better than FAIL.

Signed-off-by: Bian Naimeng <[email protected]>

---
 .../functional/threads/pi_test/pitest-4.c          |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git 
a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c 
b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c
index 5259eb7..e6bff3f 100644
--- a/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c
+++ b/testcases/open_posix_testsuite/functional/threads/pi_test/pitest-4.c
@@ -198,6 +198,12 @@ void *thread_tb1(void *arg)
        DPRINTF(stdout, "#EVENT %f TB1 Waited on mutex1 for %.2f s\n", 
                t1 - base_time, t1 - t0);
 
+       if (rc == 0) {
+               EPRINTF("UNRESOLVED: Thread TB1: lock mutex1 success, "
+                       "slept %f", t1 - t0);
+               exit(UNRESOLVED);
+       }
+
        if (rc != ETIMEDOUT) {
                EPRINTF("FAIL: Thread TB1: lock returned %d %s, "
                        "slept %f", rc, strerror(rc), t1 - t0);
@@ -232,6 +238,12 @@ void *thread_tb2(void *arg)
        DPRINTF(stdout, "#EVENT %f Thread TB2 Waited on mutex2 for %.2f s\n", 
                t1 - base_time, t1 - t0);
 
+       if (rc == 0) {
+               EPRINTF("UNRESOLVED: Thread TB2: lock mutex2 success, "
+                       "slept %f", t1 - t0);
+               exit(UNRESOLVED);
+       }
+
        if (rc != ETIMEDOUT) {
                EPRINTF("FAIL: Thread TB2: lock mutex2 returned %d %s, "
                        "slept %f", rc, strerror(rc), t1 - t0);
-- 
1.7.0.4



-- 
Regards
Bian Naimeng


------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to