----- Original Message -----
> From: "Peng Haitao" <[email protected]>
> To: [email protected], [email protected]
> Cc: [email protected]
> Sent: Thursday, 14 November, 2013 3:25:07 AM
> Subject: [PATCH] sigaction:16-1: leave it untested on the Linux kernel less 
> than 2.6.22
> 
> As the Linux signal(7) said:
> POSIX semaphore interfaces: sem_wait(3) and sem_timedwait(3) (since Linux
> 2.6.22; beforehand, always failed with EINTR).
> 
> So, on linux, we just leave this untested when the kernel version
> is less than 2.6.22.
> 
> Signed-off-by: Peng Haitao <[email protected]>

Hi,

looks familiar. Thanks for posting - I haven't revisited this topic since then.
I suggest following change:

diff --git a/testcases/open_posix_testsuite/Makefile.linux 
b/testcases/open_posix_testsuite/Makefile.linux
index de3dd0e..4a32c07 100644
--- a/testcases/open_posix_testsuite/Makefile.linux
+++ b/testcases/open_posix_testsuite/Makefile.linux
@@ -8,13 +8,15 @@ cmd_disable = @set -e; \
        echo "exit 0" >> $(1); \
        chmod a+x $(1)
 
+BROKEN :=
+
 kver_cmp = $(shell $(top_srcdir)/scripts/tst_kvercmp.sh 2 6 22)
 ifeq ($(kver_cmp), 1)
-filter-broken: t_sigaction_16-1
-else
-filter-broken:
+BROKEN += t_sigaction_16-1
 endif
 
+filter-broken: $(BROKEN)
+
 t_sigaction_16-1:
        $(call 
cmd_disable,conformance/interfaces/sigaction/sigaction_16-1.run-test, \
          This fails on old linux because sem_wait always be interrupted by a 
signal.)

Regards,
Jan

> ---
>  testcases/open_posix_testsuite/Makefile              |  4 ++++
>  testcases/open_posix_testsuite/Makefile.linux        | 20
>  ++++++++++++++++++++
>  .../open_posix_testsuite/scripts/tst_kvercmp.sh      | 20
>  ++++++++++++++++++++
>  3 files changed, 44 insertions(+)
>  create mode 100644 testcases/open_posix_testsuite/Makefile.linux
>  create mode 100755 testcases/open_posix_testsuite/scripts/tst_kvercmp.sh
> 
> diff --git a/testcases/open_posix_testsuite/Makefile
> b/testcases/open_posix_testsuite/Makefile
> index 9c61fa4..500ddc2 100644
> --- a/testcases/open_posix_testsuite/Makefile
> +++ b/testcases/open_posix_testsuite/Makefile
> @@ -40,6 +40,10 @@ exec_prefix?=              $(prefix)
>  
>  all: conformance-all functional-all stress-all tools-all
>  
> +ifeq ($(shell uname -s), Linux)
> +include Makefile.linux
> +endif
> +
>  clean: $(CRITICAL_MAKEFILES)
>       @rm -f $(LOGFILE)*
>       @for dir in $(SUBDIRS) tools; do \
> diff --git a/testcases/open_posix_testsuite/Makefile.linux
> b/testcases/open_posix_testsuite/Makefile.linux
> new file mode 100644
> index 0000000..de3dd0e
> --- /dev/null
> +++ b/testcases/open_posix_testsuite/Makefile.linux
> @@ -0,0 +1,20 @@
> +all: conformance-all functional-all stress-all tools-all filter-broken
> +
> +cmd_disable = @set -e; \
> +     echo "Disabling: $(1)"; \
> +     echo "\#!/bin/sh" > $(1); \
> +     echo "echo $(1) skipped" >> $(1); \
> +     echo "echo $(2)" >> $(1); \
> +     echo "exit 0" >> $(1); \
> +     chmod a+x $(1)
> +
> +kver_cmp = $(shell $(top_srcdir)/scripts/tst_kvercmp.sh 2 6 22)
> +ifeq ($(kver_cmp), 1)
> +filter-broken: t_sigaction_16-1
> +else
> +filter-broken:
> +endif
> +
> +t_sigaction_16-1:
> +     $(call
> cmd_disable,conformance/interfaces/sigaction/sigaction_16-1.run-test, \
> +       This fails on old linux because sem_wait always be interrupted by a
> signal.)
> diff --git a/testcases/open_posix_testsuite/scripts/tst_kvercmp.sh
> b/testcases/open_posix_testsuite/scripts/tst_kvercmp.sh
> new file mode 100755
> index 0000000..d0e101c
> --- /dev/null
> +++ b/testcases/open_posix_testsuite/scripts/tst_kvercmp.sh
> @@ -0,0 +1,20 @@
> +#!/bin/bash
> +
> +if [ $# -ne 3 ]; then
> +     echo "Usgae: ./tst_kvercmp.sh r1 r2 r3"
> +     exit 1
> +fi
> +
> +ker_ver=$(uname -r)
> +r1=$(echo ${ker_ver} | awk -F. '{print $1}')
> +r2=$(echo ${ker_ver} | awk -F. '{print $2}')
> +r3=$(echo ${ker_ver} | awk -F. '{print $3}')
> +r3=${r3%-*}
> +
> +test_ver=$(($1 * 65536 + $2 * 256 + $3))
> +curr_ver=$((${r1} * 65536 + ${r2} * 256 + ${r3}))
> +if [ ${curr_ver} -ge ${test_ver} ]; then
> +     echo 0
> +else
> +     echo 1
> +fi
> --
> 1.8.3.1
> 
> 

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to