public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Bian Naimeng <biannm@cn.fujitsu.com>
To: Mitani <mitani@ryobi.co.jp>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] fix "sigaction" tests
Date: Thu, 18 Nov 2010 15:50:31 +0800	[thread overview]
Message-ID: <4CE4DAC7.5080608@cn.fujitsu.com> (raw)
In-Reply-To: <000001cb86ed$d4984070$7dc8c150$@co.jp>


>> 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;
>>>> +

  Sorry for my mistake, here should return 1.

>>>> +       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
> 
> 
> I applied Bian's patch in my system, and build succeeded.
> 
> I'm OK with the Bian's patch.
> 

  Thanks for confirmation.

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

  reply	other threads:[~2010-11-18  7:50 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
2010-11-18  6:57             ` Mitani
2010-11-18  7:50               ` Bian Naimeng [this message]
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=4CE4DAC7.5080608@cn.fujitsu.com \
    --to=biannm@cn.fujitsu.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=mitani@ryobi.co.jp \
    /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