From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/516 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Revitalizing testing! Date: Sun, 23 Oct 2011 19:52:09 -0400 Message-ID: <20111023235209.GE132@brightrain.aerifal.cx> References: <20111023212545.GD132@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1319414510 2138 80.91.229.12 (24 Oct 2011 00:01:50 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 24 Oct 2011 00:01:50 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-517-gllmg-musl=m.gmane.org@lists.openwall.com Mon Oct 24 02:01:46 2011 Return-path: Envelope-to: gllmg-musl@lo.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by lo.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1RI7z7-0005SG-AQ for gllmg-musl@lo.gmane.org; Mon, 24 Oct 2011 02:01:45 +0200 Original-Received: (qmail 32395 invoked by uid 550); 24 Oct 2011 00:01:44 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32387 invoked from network); 24 Oct 2011 00:01:44 -0000 Content-Disposition: inline In-Reply-To: <20111023212545.GD132@brightrain.aerifal.cx> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:516 Archived-At: 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.