Posix result: Difference between revisions
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
* make sure below line is uncommented in LDFLAGS file: | * make sure below line is uncommented in LDFLAGS file: | ||
#-D_XOPEN_SOURCE=600 -lpthread -lrt -lm | #-D_XOPEN_SOURCE=600 -lpthread -lrt -lm | ||
* don't test AIO as the test cases themselves have compilation warnings which are treated as errors (use 'exit' while doesn't include stdlib.h) | |||
==Current Milestone (1.0/M2)== | ==Current Milestone (1.0/M2)== |
Revision as of 07:28, 1 February 2011
Introduction
The Open POSIX* Test Suite is an open source test suite with the goal of performing conformance, functional, stress, and performance testing of the functions described in the IEEE Std 1003.1-2001 System Interfaces specification. Eventual testing of the full specification is desired (http://posixtest.sourceforge.net/)
Similar to [LTP result], embedded linux distribution is highly customized for a specific purpose, and thus both the kernel and base environment may not satisfy the posix requirement. So the major purposes of this work are:
- to understand the reasons for existing posix failures. If the cause is from a specific package itself, go to fix it. Or else if the error simply come from the fact that a given package doesn't exist in current profile, add the explanation here
- to track poix test results cross Yocto releases, and ensure a declining error number for same profile
- to be the reference if Yocto users want to get a base picture
There is one bugzilla entry related: http://bugzilla.pokylinux.org/show_bug.cgi?id=172
Overall trend
Overall trend tends to track the change of posix test results along with Yocto's progress. Previous data in 0.9 is not complete and not consistent configured on all targets. So we start from 1.0-M2 as the starting point.
In below table we list total LTP failures for each architectures in each milestone: (now this wiki doesn't allow upload files. So for detail logs please refer to earlier bug link)
Milestone | qemux86 | qemu-x86_64 | qemuppc | qemuarm | qemumips | atom-pc | blacksand | beagleboard | routerstation |
1.0-M2 (*) | 1744 | 1744 | 1745 | 1750 | 1753 | 1753 | 1744 | 1755 | 1754 |
*: 1.0-M2 misses some link flags, and thus many unexpected link failures observed
general tips:
- use "-m 512" to launch the qemu targets
- make sure below line is uncommented in LDFLAGS file:
#-D_XOPEN_SOURCE=600 -lpthread -lrt -lm
- don't test AIO as the test cases themselves have compilation warnings which are treated as errors (use 'exit' while doesn't include stdlib.h)
Current Milestone (1.0/M2)
environment
OpenPOSIX version: posixtestsuite-1.5.2.tar
Profile: poky-image-sdk
run command: ./run_tests [AIO|MEM|MSG|SEM|SIG|THR|TMR|TPS]
result
Status | qemux86 | qemu-x86_64 | qemuppc | qemuarm | qemumips | atom-pc | blacksand | beagleboard | routerstation |
failures | 1744 | 1744 | 1745 | 1750 | 1753 | 1753 | 1744 | 1755 | 1754 |
The major problem for high failure numbers here is due to one environmental issue. It's suggested to uncomment below line from LDFLAGS file:
#-D_XOPEN_SOURCE=600 -lpthread -lrt -lm
libpthread and librt are critical for posix interface test. Without doing this the majority of the failures are link failures being failed to find necessary libraries.
My quick test on qemux86 shows that the failure could be reduced a lot to <200 in a rough run
Based on above fact, no more analysis is done on 1.0-M2 posix results. The thorough analysis will be postponed to 1.0-M3 which will use the right test steps and newer 2.6.37 kernel
Previous milestone
a placeholder. Once we reach a new milestone, the data under "current milestone" will be moved here.