diff options
author | Julian Andres Klode <jak@debian.org> | 2015-10-23 20:13:00 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2015-10-30 15:36:11 +0100 |
commit | 77242b1e219b79d39a2695e5f75f08d6eb92ae6f (patch) | |
tree | 6b33402522c07fcb9137abadc99406786d3c83dd | |
parent | 7d70f7993e2e6e465ac216bc21ec15ed7b7d9ff5 (diff) |
Provide tests for thread-safety
These scripts currently produce HTML output that is directly
piped into an HTML file on alioth.
There are three categories. The first two check external
library calls to use the ones specified by POSIX to be
thread-safe. The main profile excludes functions that are
thread-safe on Linux or glibc in general, while the portable
output strictly follows posix.
The internal.html output lists internal function calls, such
as configuration setting.
This is supposed to be automated further at some point, so
we can automatically check for regressions.
-rwxr-xr-x | test/thread-safety/not-thread-safe.sh | 7 | ||||
-rw-r--r-- | test/thread-safety/thread-check-internal.txt | 3 | ||||
-rw-r--r-- | test/thread-safety/thread-check.txt | 91 |
3 files changed, 101 insertions, 0 deletions
diff --git a/test/thread-safety/not-thread-safe.sh b/test/thread-safety/not-thread-safe.sh new file mode 100755 index 000000000..12ac3f398 --- /dev/null +++ b/test/thread-safety/not-thread-safe.sh @@ -0,0 +1,7 @@ +git grep -p --color -n -E "$(grep -v ^# thread-check.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/index.html' +git grep -p --color -n -E "$(grep ^# thread-check.txt | cut -f2 -d# | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/portable.html' + +git grep -p --color -n -E "$(grep -v ^# thread-check-internal.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/internal.html' diff --git a/test/thread-safety/thread-check-internal.txt b/test/thread-safety/thread-check-internal.txt new file mode 100644 index 000000000..c55985fa0 --- /dev/null +++ b/test/thread-safety/thread-check-internal.txt @@ -0,0 +1,3 @@ +CndSet() +Set() +Clear() diff --git a/test/thread-safety/thread-check.txt b/test/thread-safety/thread-check.txt new file mode 100644 index 000000000..ed00965bd --- /dev/null +++ b/test/thread-safety/thread-check.txt @@ -0,0 +1,91 @@ +asctime() +basename() +catgets() +crypt() +ctermid() if passed a non-NULL argument +ctime() +dbm_clearerr() +dbm_close() +dbm_delete() +dbm_error() +dbm_fetch() +dbm_firstkey() +dbm_nextkey() +dbm_open() +dbm_store() +dirname() +dlerror() +drand48() +ecvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +encrypt() +endgrent() +endpwent() +endutxent() +fcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +ftw() +gcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +getc_unlocked() +getchar_unlocked() +getdate() +#getenv() +getgrent() +getgrgid() +getgrnam() +gethostbyaddr() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +gethostbyname() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +gethostent() +getlogin() +getnetbyaddr() +getnetbyname() +getnetent() +getopt() +getprotobyname() +getprotobynumber() +getprotoent() +getpwent() +getpwnam() +getpwuid() +getservbyname() +getservbyport() +getservent() +getutxent() +getutxid() +getutxline() +gmtime() +hcreate() +hdestroy() +hsearch() +inet_ntoa() +l64a() +lgamma() +lgammaf() +lgammal() +localeconv() +localtime() +lrand48() +mrand48() +nftw() +#nl_langinfo() +ptsname() +putc_unlocked() +putchar_unlocked() +putenv() +pututxline() +rand() +#readdir() +setenv() +setgrent() +setkey() +setpwent() +setutxent() +#strerror() +strsignal() [Added in POSIX.1-2008] +strtok() +#system() [Added in POSIX.1-2008] +tmpnam() if passed a non-NULL argument +ttyname() +unsetenv() +wcrtomb() if its final argument is NULL +wcsrtombs() if its final argument is NULL +wcstombs() +wctomb() |