From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Open POSIX Test Suite analysis
Date: Wed, 26 Jun 2013 22:27:43 -0400 [thread overview]
Message-ID: <20130627022743.GA2584@brightrain.aerifal.cx> (raw)
[-- Attachment #1: Type: text/plain, Size: 533 bytes --]
Hi all,
I've just run through the OPTS (posixtest.sourceforge.net) tests again
and analyzed the failures in the thread, semaphore, timer, and shared
memory tests. A few of them resulted in bug fixes which have been
committed over the past couple hours. The majority of the failures are
bogus tests, which I have documented. This information should be
useful if we want to automate these tests for use as regression tests,
or if we want to make an updated/fixed version of the testsuite (which
hasn't been updated since 2005).
Rich
[-- Attachment #2: opts.txt --]
[-- Type: text/plain, Size: 3168 bytes --]
pthread_attr_getstack
1-1: unspecified behavior, calls getstack before setstack
pthread_attr_setinheritsched:
2-2, 2-3, 2-4: requires root
pthread_cancel
5-1: undefined behavior, uses thread id after lifetime has ended
3-1: requires root for sched param
pthread_cond_destroy
speculative/4-1: undefined behavior, destroys busy condvar
pthread_create
threads_scenarii.c wrongly requires page size to divide min stack size
2-1: undefined behavior, uses thread id after lifetime has ended
1-5, 3-2: probably bogus tests, trying to measure stack usage
pthread_detach
1-1, 1-2: undefined behavior, attempts to join a non-joinable thread
4-1: undefined behavior, calls pthread_detach on a non-joinable thread
4-2: undefined behavior, uses thread id after lifetime has ended
pthread_getcpuclockid
speculative/3-1: undefined behavior, uses thread id after lifetime has ended
pthread_getschedparam
1-2, 1-3: requires root for sched param
pthread_join
speculative/6-1: undefined behavior, attempts to join a non-joinable thread
pthread_key_create
2-1: undefined behavior, uses uninitialized key object
speculative/5-1: buggy test, <= should be <
pthread_kill
6-1: undefined behavior, uses thread id after lifetime has ended
pthread_mutex_getprioceiling
1-1: unsupported feature
pthread_mutex_init
1-2, 3-2: undefined behavior, attempts to deadlock a default-type mutex
5-1: utterly nonsensical test, attempts to fail by exhausting memory
speculative/5-2: utterly nonsensical test, no relation to mutexes
pthread_mutex_lock
3-1: spurious failure? crash? can't reproduce
pthread_mutexattr_getprotocol
1-2: testing unsupported feature
pthread_mutexattr_gettype
speculative/3-1: undefined behavior, accessing uninitialized object
pthread_mutexattr_setprotocol
1-1: testing unsupported feature
pthread_rwlock_rdlock
2-1, 2-2: testing desirable but unsatisfiable property, also missing root
pthread_rwlock_unlock
3-1: testing desirable but unsatisfiable property, also missing root
pthread_rwlock_wrlock
3-1: testing for error when deadlock is explicitly allowed behavior
pthread_setcanceltype
1-1: undefined behavior, calls async-cancel-unsafe functions with AC
pthread_setschedparam
1-2, 4-1: need root for scheduling
pthread_setschedprio
1-1: need root for scheduling
sem_init
7-1: nonsensical test, expects failure
sem_post
8-1: needs unsupported options
sem_unlink
3-1: needs root
4-1: undefined behavior, uninitialized filename
5-1: off-by-one error in check for ENAMETOOLONG, but test is wrong anyway
all AIO tests
wrongly check for ver == 200112L rather than >=
timer_create
10-1, 11-1: nonsensical test, expects a cputime timer to fire while sleeping
strftime
1-1: musl failure, broken %U format
2-1: musl failure, broken %OU format
clock_getcpuclockid
2-1: invalid test; ignores EPERM and assumes the clockid was invalid
mmap
11-4, 11-5: linux failure, no workaround (partial page bug)
23-1: linux failure, but musl could work around it
28-1: bogus test, ENXIO is for devices not files
31-1: bogus test, EOVERFLOW is for files with 32-bit off_t
shm_open
39-2: invalid test, name contains /'s
shm_unlink
10-2: invalid test, name contains /'s
next reply other threads:[~2013-06-27 2:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-27 2:27 Rich Felker [this message]
2013-07-03 7:40 ` Rob Landley
2013-07-03 12:32 ` Rich Felker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130627022743.GA2584@brightrain.aerifal.cx \
--to=dalias@aerifal.cx \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).