mailing list of musl libc
 help / color / mirror / code / Atom feed
* Revitalizing testing!
@ 2011-10-23 21:25 Rich Felker
  2011-10-23 23:52 ` Rich Felker
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Rich Felker @ 2011-10-23 21:25 UTC (permalink / raw)
  To: musl

Hi everyone,

Since GSoC ended with some partial successes on Luka's libc testing
project "cluts", I'd like to look towards picking up testing where
that left off and "finishing" cluts. In addition to the remaining
tasks on the GSoC project proposal
(http://openwall.info/wiki/musl/unit-tests), I have a few new areas
I'd like to focus attention on:

1. Deriving from the musl git history as list of specific corner cases
that were problematic/buggy at some point in time, and ensuring that
an existing test covers the case, or else writing a new test.

2. Pulling in tests from glibc, gnulib, and autoconf - this involves
paying special attention to determining which tests are actually
valid.

3. Naming in plain English the assertion that each test is testing.
For example, "Cond var is immediately destroyable as soon as
pthread_cond_broadcast returns from unblocking all waiters."

4. And of course, integrating the test framework and results reporting
so we can automate regression testing and compare the results with
other libcs.

Since this is no longer a student project for which I'm the mentor,
I'm also prepared to contribute tests myself and take on part of the
work involved, but I'd really like a dedicated maintainer for cluts -
either Luka (if you're willing) or someone else familiar with musl and
the testing project. Please reply here or discuss it on IRC if you're
interested in taking on maintaining the project.

Greetings from the GSoC Mentor Summit,

Rich


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Revitalizing testing!
  2011-10-23 21:25 Revitalizing testing! Rich Felker
@ 2011-10-23 23:52 ` Rich Felker
  2011-10-26  7:41 ` Solar Designer
  2011-10-27  1:51 ` Luka Marčetić
  2 siblings, 0 replies; 4+ messages in thread
From: Rich Felker @ 2011-10-23 23:52 UTC (permalink / raw)
  To: musl

On Sun, Oct 23, 2011 at 05:25:45PM -0400, Rich Felker wrote:
> 1. Deriving from the musl git history as list of specific corner cases
> that were problematic/buggy at some point in time, and ensuring that
> an existing test covers the case, or else writing a new test.

Here's a list of bugs up through the beginning of April which need
regression testing. (A few of them are already covered, but most are
not.) Listed by commit that fixed them...more to come soon...

commit dc3776d445957cd3ea4a682db518701b93d34292
Test that signal handler invocation and return basically work

commit 50e26f09eb13f6568113a05dbcfe94a6b1010da0
pthread_exit calls cancellation handlers

commit 59666802fba592a59f2f4ea4dcb053287fd55826
pthread_create returns EAGAIN on resource failure

commit 5cbd76c6b05b381f269e0e204e10690d69f1d6ea
commit bdc9ed15651b70e89f83c5a9f7d1ba349e624503
printf %n does not crash or overwrite adjacent memory and stores the
correct number of characters output so far

commit b24bc15f5c3828184f123698b4b545fef4edac99
qsort never compares elements with themselves. (this is not a
conformance issue, but it's a quality/performance issue and breaks gcc
because gcc is stupid.)

commit fb11b6b85e1e01daf17228be32d7f98b47517363
pthread_exit runs dtors even for last thread.

commit a49c119276742d7d212fb88f83a8f559ca549e72
blocking all signals does not inhibit cancellation.

commit a6238c30d169cbac6bc4c4977622242063e32270
rewind clears error and eof status for file

commit 63b06c0e904fbdbc87b3e17d067b62afe9bb3dd1
invalid pthread attr settings are rejected

commit 4820f9268d3dc1f2aac923de0a591ffd5d54ea89
mutex ownership is checked at unlock for recursive/errorchecking.
mutex attr type is honored.

commit e5dd18319bbd47c89aac5e1571771958a43e067d
trylock functions return EBUSY (not EGAIN or EDEADLK) when the
lock is busy.

commit 370f78f2c80c64b7b0780a01e672494a26b5678e
raise affects calling thread's pending signals, not process's.

commit 0bed7e0acfd34e3fb63ca0e4d99b7592571355a9
raise does not target wrong process on fork race conditions.

commit 3f5420bcda134de80ed6b0f0da1d7d23f147a4cc
initial thread after fork is in consistent state.

commit 500c969f059dc1b12dc3809d270cb169abbd57d3
pthread_sigmask must return error rather than -1/errno.

commit 1b538acb0ac8520a8a5fd828add2e52e1d2a41eb
clock functions are tricky as to whether they return an error or
return -1 and set errno.

commit 0a949ebdf0b9fc054ea868bd049c8f2c7aed973e
sigwait cannot fail with EINTR.

commit dc54a7cbb9f0aad6f614131ecc683fbb0b717115
sigqueue must not leak caller's stack junk to target.

commit 81af503610761a69476a3adbe8341fa8b6d078aa
multiple opens of same named semaphore return same address.

commit a012aa879fb790c8e0446638b206b7f34e92c51e
wmemchr does not run off end of string.

commit 8ae2fa65636b732e04e19b2521edc335867ba53b
puts is atomic.

commit 05b694028e0537954ea2d5e69774e0c24bf9ab47
getc does not confuse EOF/0xff.

commit 117581ca69ec2a9c341390eed353646b47a512df
spinlocks have proper memory barriers.

commit 0b240ccf523b9af23dd1efa78274f397fcc90cdd
remove works on directories.

commit a1eb8cb5dab06dd23c256d03d82ef6b0efc4b6c6
pthread_mutex_unlock is safe on a never-locked errorchecking mutex.

commit 9a909fcd915c65628931dcf6e7b34f261e39e3a3
fseek does not set error flag on failed seek.

commit c68b26369e89ead7511ef113850035775c5d183d
strchr works for 8-bit values.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Revitalizing testing!
  2011-10-23 21:25 Revitalizing testing! Rich Felker
  2011-10-23 23:52 ` Rich Felker
@ 2011-10-26  7:41 ` Solar Designer
  2011-10-27  1:51 ` Luka Marčetić
  2 siblings, 0 replies; 4+ messages in thread
From: Solar Designer @ 2011-10-26  7:41 UTC (permalink / raw)
  To: musl

Hi Rich,

On Sun, Oct 23, 2011 at 05:25:45PM -0400, Rich Felker wrote:
> Since GSoC ended with some partial successes on Luka's libc testing
> project "cluts", I'd like to look towards picking up testing where
> that left off and "finishing" cluts.

I just wanted to let you know that this sounds great to me.

Thank you for posting this!

Alexander


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Revitalizing testing!
  2011-10-23 21:25 Revitalizing testing! Rich Felker
  2011-10-23 23:52 ` Rich Felker
  2011-10-26  7:41 ` Solar Designer
@ 2011-10-27  1:51 ` Luka Marčetić
  2 siblings, 0 replies; 4+ messages in thread
From: Luka Marčetić @ 2011-10-27  1:51 UTC (permalink / raw)
  To: musl

On 10/23/2011 11:25 PM, Rich Felker wrote:
> Hi everyone,

Hey, Rich. Hey guys.

> Since GSoC ended with some partial successes on Luka's libc testing
> project "cluts", I'd like to look towards picking up testing where
> that left off and "finishing" cluts. In addition to the remaining
> tasks on the GSoC project proposal

It'd be great if the project were unfrozen. I'd like to see that happen 
mostly so that I assure myself that my contributions weren't for noth. 
So I very much welcome the incentive.
That being said, I don't think I have the altruistic willpower it takes 
to write other unit tests. That is to say, I still feel enthusiastic 
about musl, but I guess it's more of a user's enthusiasm. But my 
conscience might make me patch my existing code here and there if you'll 
need me...

Respect to whoever becomes the next maintainer.
I wish you all all the best, in your work and in general.
-Luka


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-27  1:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-23 21:25 Revitalizing testing! Rich Felker
2011-10-23 23:52 ` Rich Felker
2011-10-26  7:41 ` Solar Designer
2011-10-27  1:51 ` Luka Marčetić

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).