POSIX-results

From Yocto Project
Revision as of 06:04, 29 September 2012 by Yzhao (talk | contribs) (→‎SIG)
Jump to navigationJump to search

Introduction

This page records the POSIX test results of Yocto for current version. History POSIX test results have been moved to https://wiki.yoctoproject.org/wiki/POSIX_History_Results. You can get more informations from POSIX test overall on Yocto.

The online POSIX specification could be viewed at IEEE Std 1003.1, 2004 Edition.

The POSIX test suite is from ltp and current version is 20120903. All POSIX test cases can be get at POSIX git repository.

Test POSIX on following platforms:

  • beagleboard
  • mpc8315rdb
  • routerstation
  • sugarbay
  • blacksand
  • huronriver

There are 1794 test cases in total, only failed items are list here.

Result Codes

These informations are from POSIX test suit Documentation/HOWTO_ResultCodes.

The PTS result codes are:

#define PTS_PASS        0
#define PTS_FAIL        1
#define PTS_UNRESOLVED  2
#define PTS_UNSUPPORTED 4
#define PTS_UNTESTED    5

A brief discussion of each of these follows:

PTP_PASS        Used when the test executes fully with no problems and passes.
PTP_FAIL        Used when the test executes fully, but fails.
PTP_UNRESOLVED  Used when the test was blocked from fully completing and
                the pass/failure results cannot be determined.
PTP_UNSUPPORTED Used if the test is for a conditional feature that is
                not implemented.
PTP_UNTESTED    Used when a feature does not have a test associated
                with it because:
                - The test is just a stub and doesn't do anything
                - The test is only partially complete and can't really
                  finish the test
                - The test is complete in some cases, but certain things
                  can happen that leave the test incomplete.  When these
                  happen, it's PTP_UNTESTED.

For every failed case which returns PTP_FAIL there is a item in https://bugzilla.yoctoproject.org to follow. For other cases which don't return PTP_PASS find the root cause.

Results and analysis

The results of groups SIG SEM THR TMR MSG TPS MEM are listed. Conclusion of some test cases have been given.

Values of clumn "status" descript the current status of the case. Some keywords include:

Bug: it is a bug and the test case needs to be fixed.

Ignore: the case is not appropriate for the hardware or linux

POSIX: that test case is in development, that causes the test fails

Current Milestone (1.3 M5 RC2 20120926)

Yocto 1.3 M5 RC2 20120926 build with POSIX test suite version 20120903.

AIO

POSIX cases status platforms error msg analysis bugzilla
aio_error/2-1 NEW routerstation conformance/interfaces/aio_error/2-1: execution: UNRESOLVED
lio_listio/11-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard
conformance/interfaces/lio_listio/11-1: execution: FAILED
lio_listio/11-1.c Error lio_listio() should have returned -1

for aio_lio_opcode posix says "The supported operations are LIO_READ, LIO_WRITE, and LIO_NOP" but it does not say what should happen if the value it not one of the above.

eglibc doesn't validate the parameter aio_lio_opcode when in function __aio_enqueue_request called by lio_listio()

Yocto 2660
aio_return/2-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_return/2-1: execution: UNRESOLVED
aio_return/2-1.c Second call to aio_return() may return -1; 
aio_return() returned 111

In specification, second call to aio_return() return -1 is a kind of possibility, depends on implementation.

In eglibc the return value is same as first return.

Yocto 2665
aio_return/3-2 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_return/3-2: execution: UNRESOLVED

Same with aio_return/2-1

Yocto 2665
aio_return/4-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_return/4-1: execution: UNRESOLVED

call aio_return with with argument aiocbp which does not point at a control block for an asynchronous I/O request, and expect error EINVAL. But this is optional.

Yocto 2665

aio_error/3-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_error/3-1: execution: UNRESOLVED

call aio_error with with argument aiocbp which does not point at a control block for an asynchronous I/O request, and expect error EINVAL. But this is optional.

Yocto 2666

aio_read/9-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/9-1: execution: UNRESOLVED

ltp commit 91d8c0c85c97366a7ec4ee08ef3b3e7a38661ac8 will check the limit of aio queue, if there is no limit, the case is not supported and return UNSUPPORTED.

Test case try to overflow the aio queue, but not quit sure the critical value on different OS.

aio_write/7-1 Not A Bug sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/7-1: execution: UNRESOLVED

ltp commit b56638a7a8ae9cd37e5698de3186dc3cb1434cd8 will check the limit of aio queue, if there is no limit, the case is not supported and return UNSUPPORTED.

Test case try to overflow the aio queue, but const value 1024 is not enough

aio_suspend/2-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_suspend/2-1: execution: UNTESTED

Stub Case

Test case is a stub

aio_suspend/5-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_suspend/5-1: execution: UNSUPPORTED

Stub Case

Test case is a stub

aio_fsync/1-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/1-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_fsync/2-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/2-1: execution: UNTESTED

Stub Case

The case just test the return value of aio_fsync, if not equal to 0, return FAIL, else return UNTESTED

aio_fsync/3-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/3-1: execution: UNTESTED

Stub Case

The case just test the return value of aio_fsync, if not equal to 0, return FAIL, else return UNTESTED

aio_fsync/6-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/6-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_fsync/7-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/7-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_fsync/10-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/10-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_fsync/11-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/11-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_fsync/13-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_fsync/13-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_read/2-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/2-1: execution: UNSUPPORTED

Stub Case

Just test _SC_ASYNCHRONOUS_IO value.

aio_read/6-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/6-1: execution: UNTESTED

Stub Case

Same with aio_read/2-1

aio_read/12-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/12-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_read/13-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/13-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_read/14-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/14-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_read/15-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_read/15-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

N/A
aio_write/4-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/4-1: execution: UNSUPPORTED

Stub Case

Test case is a stub

aio_write/10-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/10-1: execution: UNTESTED

Stub Case

Test case is a stub

aio_write/11-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/11-1: execution: UNTESTED

Stub Case

Test case is a stub

aio_write/12-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/12-1: execution: UNTESTED

Stub Case

Test case is a stub

aio_write/13-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/aio_write/13-1: execution: UNTESTED

Stub Case

Test case is a stub

lio_listio/16-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/16-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/17-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/17-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/19-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/19-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/20-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/20-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/21-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/21-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/22-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/22-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/23-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/23-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/24-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/24-1: execution: UNTESTED

Stub Case

Test case is not complete, and just return UNTESTED

lio_listio/25-1 POSIX sugarbay blacksand huronriver mpc8315e routerstation beagleboard conformance/interfaces/lio_listio/25-1: execution: UNTESTED

Stub Case

Test case is a stub

SIG

POSIX cases status platforms error msg analysis bugzilla
n/a

SEM

POSIX cases status platforms error msg analysis bugzilla
sem_init/7-1 Unsupported beagleboard routerstation mpc8315e sugarbay blacksand huronriver
 [17:07:31]sysconf(_SC_SEM_NSEMS_MAX) = -1
 [17:07:31]File ../../../conformance/interfaces
 /sem_init/7-1.c cannot test: There is no 
 constraint on SEM_NSEMS_MAX

Then return UNTESTED

In eglibc, sysconf() is implemented in sysdeps/posix/sysconf.c. When pass _SC_SEM_NSEMS_MAX to sysconf(), it checks whether SEM_NSEMS_MAX is defined, then if defined return SEM_NSEMS_MAX, otherwise return -1.

No SEM_NSEMS_MAX defined in Yocto same as in Ubuntu and Fedora, so the case fails.

It return UNTESTED(Result Codes), we don't need care it.

n/a

THR

POSIX cases status platforms error msg analysis bugzilla
pthread_detach/4-3 NEW routerstation conformance/interfaces/pthread_detach/4-3: execution: SIGNALED Yocto 2862
pthread_create/1-6 POSIX beagleboard routerstation mpc8315e
execution: HUNG 
testcase create NCPU=4 threads running with a high priority with the same sched policy policy and one with a low-priority. The low-priority thread should not run until the other threads stop running, unless the machine has more than NCPU processors. Redefine NCPU = sysconf(_SC_NPROCESSORS_CONF), testcase should pass n/a
pthread_rwlock_rdlock/2-1 Unsupport by eglibc beagleboard routerstation mpc8315e sugarbay blacksand huronriver Main thread read lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with medium priority will block. child thread2 read lock 'rwlock' with low priority should block because a high priority write lock is waiting, but read lock doesn't block. This test case is to test option Thread Execution Scheduling of pthread rwlock. But eglibc/libc don't support this option. They provide a rwlock->__data.__flags option to identify perfer 'read lock' or write lock, and the default is 'read lock' first. So second reader can get the lock when a higher priority writer is waiting for the lock.

A Non-portable api pthread_rwlockattr_setkind_np() is provided to set this value. The test case is not supported.

pthread_rwlock_rdlock/2-2 Unsupport by eglibc beagleboard routerstation mpc8315e sugarbay blacksand huronriver Main thread read lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with low priority will block. child thread2 read lock 'rwlock' with same low priority should block because a same priority write lock is waiting, but read lock doesn't block. See pthread_rwlock_rdlock/2-1
pthread_rwlock_unlock/3-1 Unsupport by eglibc beagleboard routerstation mpc8315e sugarbay blacksand huronriver Main thread write lock 'rwlock' with high priority. Child thread1 write lock 'wrlock' with medium priority will block. Child thread2 read lock 'wrlock' with same mediumpriority. Child thread3 write lock 'wrlock' with low priority. When main thread unlock 'rwlock', child thread1 get the 'wrlock'. When child thread1 unlock 'rwlock', child thread2 should get the read lock 'wrlock' because it has higher priority than child thread3. But it is the child thread3 who get the 'wrlock'. See pthread_rwlock_rdlock/2-1

TMR

POSIX cases status platforms error msg analysis bugzilla
timer_settime/5-3 confirmed blacksand conformance/interfaces/timer_settime/5-3: execution: HUNG We don't get huronriver board https://bugzilla.yoctoproject.org/show_bug.cgi?id=2899
timer_getoverrun/3-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Stub Case

Just print something and then return UNTESTED

n/a
clock_getcpuclockid/5-1 Implement related beagleboard routerstation mpc8315e sugarbay blacksand huronriver

conformance/interfaces/clock_getcpuclockid/5-1: execution: UNRESOLVED

 clock_getcpuclockid(1, ..) passed unexpectedly 
Case tests permission. When call clock_getcpuclockid() as a unpriviledge user to get process 'init' cpu time, it succeeds but expect fails with EPERM.

This is not supported by Linux. In man page, it addresses EPERM "Specified as an optional error in POSIX.1-2001; does not occur on Linux unless the kernel does not support obtaining the per-process CPU-time clock of another process.".


n/a

MSG

POSIX cases status platforms error msg analysis bugzilla
mq_close/5-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED

Stub Case

Just print something and then return UNTESTED

n/a
mq_open/4-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/10-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/14-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/17-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/22-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/24-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/25-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/28-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_open/30-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_send/6-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_timedsend/6-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_timedsend/17-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a
mq_unlink/2-3 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver UNTESTED Stub Case

Just print something and then return UNTESTED

n/a

TPS

POSIX cases status platforms error msg analysis bugzilla
sched_getparam/6-1 Not Supported beagleboard routerstation mpc8315e sugarbay blacksand huronriver conformance/interfaces/sched_getparam/6-1: execution: UNRESOLVED
 Testing with user deamon (euid, uid) = (1, 1)
 The function sched_getparam has successed.

This case try to call sched_getparam as non-root user to get scheduling parameters of process with pid 0. It is a system call and implemented in kernel source sched/core.c. In SYSCALL_DEFINE2(sched_getparam, ...) it calls security_task_getscheduler() to check the permission. For default security operations, security_task_getscheduler() is a stub function and just return 0.

sched_getscheduler/7-1 Not Supportted beagleboard routerstation mpc8315e sugarbay blacksand huronriver conformance/interfaces/sched_getscheduler/7-1: execution: FAILED
Testing with user deamon (uid: 1)
The function sched_getscheduler has successed.
Similiar with sched_getparam/6-1 n/a
sched_get_priority_max/1-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_get_priority_min/1-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a


sched_getscheduler/2-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/3-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/6-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/7-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/8-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/12-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/13-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/14-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/15-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/16-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/17-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/18-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/19-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setparam/20-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux n/a
sched_setparam/21-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux n/a
sched_setparam/21-2 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver PTHREAD_SCOPE_PROCESS for pthread_attr_setscope() is not supported by linux n/a
sched_setparam/23-2 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/23-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/23-4 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setparam/23-5 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a


sched_setparam/25-2 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a


sched_setparam/25-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a


sched_setparam/25-4 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a


sched_setscheduler/2-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a


sched_setscheduler/5-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a


sched_setscheduler/6-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a


sched_setscheduler/7-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a


sched_setscheduler/9-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/10-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/11-1 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/12-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a


sched_setscheduler/13-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setscheduler/14-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setscheduler/15-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setscheduler/15-2 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setscheduler/17-2 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/17-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/17-4 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/19-2 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/19-3 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/19-4 Ignore beagleboard routerstation mpc8315e sugarbay blacksand huronriver Schedule policy SCHED_SPORADIC is not supported by linux n/a
sched_setscheduler/22-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a
sched_setscheduler/22-2 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver Just print something and then return n/a

MEM

POSIX cases status platforms error msg analysis bugzilla
mmap/11-4 Not Supported beagleboard routerstation mpc8315e sugarbay blacksand huronriver
 pa: 0x400fb000 
 pa_2: 0x40115000 
 Modification of the partial page
 at the end of an object is written out
This case maps a file with length of 1/2 * page_size, then write char 'b' to next byte of 1/2 * page_size. Then try to re-mmap() the file and expect the byte next to of 1/2 * page_size should not be character 'b'.

Test on all platforms are failed. The root cause is that after first mmap(), the mapped page for the file is cached in page cache. When do the 2nd or 3rd mmap() still get the same mapped page.

The mapped page is cached. This case is not supported by Linux.

mmap() is a system call and implemented by mmap2(). Then the call sequence is mmap2() ==> sys_mmap_pgoff() ==> do_mmap_pgoff() ==> mmap_region() ==> file->f_op->mmap(). In ext3 file system, file->f_op->mmap() point to generic_file_mmap(). In generic_file_mmap(), assign the Page Fault Exception Handler to filemap_fault(). When access the Virtual Memory Area, page fault will occur and the run filemap_fault(). In filemap_fault(), kernel run find_get_page() to search the physical page in the page cache.

n/a
mmap/11-5 Not Supported beagleboard routerstation mpc8315e sugarbay blacksand huronriver
 Modification of the partial page 
 at the end of an object is written out
Same with mmap/11-4, and this case test share memory instead of regular file.

shmfs's file->f_op->mmap() point to shm_fault() in ipc/shm.c, then it call shmem_fault() ==> shmem_getpage() ==> shmem_getpage_gfp() ==> find_lock_page(). In find_lock_page() it will search the desired pagecache page.

n/a
mmap/27-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver This case try to test implement which doesn't support flag MAP_FIXED. eglibc supports this flag so the case quits with UNTESTED n/a
mmap/28-1 Not Supported beagleboard routerstation mpc8315e sugarbay blacksand huronriver
 Test Fail: mmap/28-1.c Got no error at mmap()
This case tests mmap() with length of 2 timed file size and expects fail with errno ENXIO( No such device or address), but mmap() successed.

Because Linux kernel just make the mmap connection between file and memory when mmap() called. When first read/write, the kernel mmap the physical file page to the virtual memory page. So it doesn't fail in mmap().

This case is NOT supported by Linux.

n/a
mmap/31-1 POSIX mpc8315e beagleboard sugarbay blacksand huronriver

off: fffff000, len: fffff000

expect EOVERFLOW but get other error: Cannot allocate memory

Parameters lenth and offset for mmap() are too large. Case 24-2 with same length expects mmap() failed with ENOMEM.

In function get_unmapped_area(), it checks len should less than TASK_SIZE, otherwise it returns -ENOMEM. TASK_SIZE value on different platforms

beagleboard    0xC0000000 - 0x01000000 = 0xBF000000
mpc8315e       0xc0000000
routerstation  0x7fff8000UL
sugarbay       0xffff880000000000
n/a
shm_open/2-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/3-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/6-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/7-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/9-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/10-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/12-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/19-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/24-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/27-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/29-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/36-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a
shm_open/42-1 POSIX beagleboard routerstation mpc8315e sugarbay blacksand huronriver test code just return PTS_UNTESTED and do nothing n/a