From: Bian Naimeng <biannm@cn.fujitsu.com>
To: Garrett Cooper <yanegomi@gmail.com>
Cc: Mitani <mitani@ryobi.co.jp>, "當座 健市" <toza@ryobi.co.jp>,
ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] fix "sigaction" tests
Date: Thu, 18 Nov 2010 12:59:34 +0800 [thread overview]
Message-ID: <4CE4B2B6.4030408@cn.fujitsu.com> (raw)
In-Reply-To: <AANLkTim5JubFxad76akVJ7YOVs1V84gY=2TUVQ1KMkJz@mail.gmail.com>
Garrett Cooper wrote:
> 2010/11/17 Bian Naimeng <biannm@cn.fujitsu.com>:
>>
>> Garrett Cooper wrote:
>>> On Mon, Nov 1, 2010 at 1:00 AM, Gui Jianfeng <guijianfeng@cn.fujitsu.com> wrote:
>>>> Garrett Cooper wrote:
>>>>> 2010/10/31 Mitani <mitani@ryobi.co.jp>:
>>>> ...
>>>>>> int main()
>>>>>> {
>>>>>> @@ -133,6 +152,12 @@
>>>>>>
>>>>>> struct sigaction sa;
>>>>>>
>>>>>> + /* Checking for Kernel Version */
>>>>>> + if ( kernel_ver_cmp(2, 6, 21) != 0 )
>>>>>> + {
>>>>>> + UNTESTED( "sem_wait() returned EINTR on kernel versions
>>>>>> lower than 2.6.22" );
>>>>>> + }
>>>>>> +
>>>>>> /* Initialize output */
>>>>>> output_init();
>>>>>>
>>>>>> ============
>>>>>>
>>>>>> Above patch is revision only for templates.
>>>>>> The following procedure is necessary after applying patch:
>>>>>> ------------
>>>>>> #cd testcases/open_posix_testsuite/conformance/interfaces/sigaction/
>>>>>> #./gentests.pl
>>>>>> ------------
>>>>>>
>>>>>> Similar revisions are necessary for other 25 "sigaction" tests.
>>>>> Sorry, but Linux-isms can't leak into the open_posix_testsuite.
>>>>> Same with BSDisms (at least they shouldn't... if they do, then slap me
>>>>> or whoever did the commit).
>>>> Do you mean the culprit is Linux-isms?
>>> Mitani-san is proposing that I `fix' the testcases to work on RHEL
>>> 4.8. These testcases should function with minimal change for all
>>> versions of Unix.
>>>
>> This open_posix_suite is the part of LTP(linux test project), must we
>> make sure it can work at all versions of unix?
>
> I use it in FreeBSD and others have used it in other versions of Unix
> (in the past), based on the README. There's no reason why we need to
> maintain something that philosophically diverges from the upstream
> project's goal because it will make merging more painful and
> unnecessary.
>
OK, i get it. Thanks. ^_^
Then, whether should we remove the following case, because it invokes
the uname that it's not exsit at 4.3 BSD.
conformance/interfaces/pthread_mutex_init/speculative/5-2.c
Thanks
Bian
>> What about this patch? If you think so, other similar patchs will be post.
>>
>> -------------------------------------------------------------------------------
>>
>> At older linux kernel(2.6.22 before), a signal handler always interrupts a
>> blocked call to one of these functions, regardless of the use of the sigaction
>> SA_RESTART flag, so we should not test these cases at this situation.
>>
>> Althought uname is not exsit at 4.3 BSD, but this open_posix_suite just
>> the part of LTP(linux test project), so i think it's not a problem.
>>
>> Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
>>
>> ---
>> .../conformance/interfaces/sigaction/16-1.c | 27 ++++++++++++++++++++
>> 1 files changed, 27 insertions(+), 0 deletions(-)
>>
>> diff --git a/testcases/open_posix_testsuite/conformance/interfaces/sigaction/16-1.c b/testcases/open_posix_testsuite/conformance/interfaces/sigaction/16-1.c
>> index 706dbfc..3d6e1a1 100644
>> --- a/testcases/open_posix_testsuite/conformance/interfaces/sigaction/16-1.c
>> +++ b/testcases/open_posix_testsuite/conformance/interfaces/sigaction/16-1.c
>> @@ -50,6 +50,7 @@ Anyway, a false negative status cannot be returned.
>> #include <stdlib.h>
>> #include <string.h>
>> #include <unistd.h>
>> +#include <sys/utsname.h>
>>
>> #include <semaphore.h>
>> #include <signal.h>
>> @@ -95,6 +96,27 @@ Anyway, a false negative status cannot be returned.
>> volatile sig_atomic_t caught = 0;
>> sem_t sem;
>>
>> +#define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c))
>> +
>> +int check_linux()
>> +{
>> + struct utsname tn;
>> + int r1, r2, r3;
>> +
>> + if (0 > uname(&tn)) {
>> + UNRESOLVED( errno, "uname failed" );
>> + }
>> +
>> + if (strcmp(tn.sysname, "Linux") != 0)
>> + return 0;
>> +
>> + sscanf(tn.release, "%d.%d.%d", &r1, &r2, &r3);
>> + if (KERNEL_VERSION(r1, r2, r3) >= KERNEL_VERSION(2, 6, 22))
>> + return 1;
>> +
>> + return 0;
>> +}
>> +
>> /* Handler function */
>> void handler( int signo )
>> {
>> @@ -133,6 +155,11 @@ int main()
>>
>> struct sigaction sa;
>>
>> + if (!check_linux())
>> + UNTESTED( "A signal handler always interrupts sem_wait "
>> + "at linux release, regardless of the use of "
>> + "the sigaction SA_RESTART flag" );
>> +
>> /* Initialize output */
>> output_init();
>
>
--
Regards
Bian Naimeng
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2010-11-18 4:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-01 6:22 [LTP] [PATCH] fix "sigaction" tests Mitani
2010-11-01 7:08 ` Garrett Cooper
2010-11-01 8:00 ` Gui Jianfeng
2010-11-01 9:43 ` Garrett Cooper
2010-11-18 4:35 ` Bian Naimeng
2010-11-18 4:37 ` Garrett Cooper
2010-11-18 4:59 ` Bian Naimeng [this message]
2010-11-18 6:57 ` Mitani
2010-11-18 7:50 ` Bian Naimeng
2010-11-19 13:16 ` Cyril Hrubis
[not found] ` <4CE9CAE0.2070808@cn.fujitsu.com>
2010-11-25 18:44 ` Cyril Hrubis
[not found] ` <AANLkTim2rWksdiugWwFU_TRu44t5gqzHFwJPYLV-YdsY@mail.gmail.com>
2010-11-25 19:38 ` Cyril Hrubis
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=4CE4B2B6.4030408@cn.fujitsu.com \
--to=biannm@cn.fujitsu.com \
--cc=ltp-list@lists.sourceforge.net \
--cc=mitani@ryobi.co.jp \
--cc=toza@ryobi.co.jp \
--cc=yanegomi@gmail.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox