On Wed, 2008-09-17 at 21:49 +0900, Masatake YAMATO wrote:
> getgid test cases are enhanced to support getgid16.
> 
> 
> 
> BTW, See getgid02.c. For me it doesn't test getgid but getegid.
> I wonder why it is in getgid directory. I think it should be in
> getegid directory. Am I missing something?

Yes, you are correct. getgid02.c should be inside syscalls/getegid and
as getegid02.c. You can send me a separate patch for this migration.

> 
> 
> 
> Signed-off-by: Masatake YAMATO <[EMAIL PROTECTED]>
> 

Thanks for this. I have tested it on 2.6.9-22.ELsmp-i386,
2.6.9-22.EL-ppc64, 2.6.27-rc2-autokern1-ppc64, 2.6.18-91.el5PAE-i386 &
2.6.18-91.el5-x86_64. It works fine everywhere. The patch stands merged.

Regards--
Subrata

> 
> diff --git a/testcases/kernel/syscalls/getgid/Makefile 
> b/testcases/kernel/syscalls/getgid/Makefile
> index 6706403..2067f28 100644
> --- a/testcases/kernel/syscalls/getgid/Makefile
> +++ b/testcases/kernel/syscalls/getgid/Makefile
> @@ -16,11 +16,13 @@
>  #  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
>  #
> 
> -CFLAGS += -I../../../../include -Wall
> +CFLAGS += -I../../../../include -I../utils -Wall
>  LDLIBS += -L../../../../lib -lltp
> 
> +include ../utils/compat_16.mk
> +
>  SRCS    = $(wildcard *.c)
> -TARGETS = $(patsubst %.c,%,$(SRCS))
> +TARGETS += $(patsubst %.c,%,$(SRCS))
> 
>  all: $(TARGETS)
> 
> diff --git a/testcases/kernel/syscalls/getgid/compat_16.h 
> b/testcases/kernel/syscalls/getgid/compat_16.h
> new file mode 100644
> index 0000000..0958073
> --- /dev/null
> +++ b/testcases/kernel/syscalls/getgid/compat_16.h
> @@ -0,0 +1,60 @@
> +/*
> + *
> + *   Copyright (c) Red Hat Inc., 2008
> + *
> + *   This program is free software;  you can redistribute it and/or modify
> + *   it under the terms of the GNU General Public License as published by
> + *   the Free Software Foundation; either version 2 of the License, or
> + *   (at your option) any later version.
> + *
> + *   This program is distributed in the hope that it will be useful,
> + *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
> + *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> + *   the GNU General Public License for more details.
> + *
> + *   You should have received a copy of the GNU General Public License
> + *   along with this program;  if not, write to the Free Software
> + *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> + */
> +
> +/* Author: Masatake YAMATO <[EMAIL PROTECTED]> */
> +
> +#ifndef __GETGID_COMPAT_16_H__
> +#define __GETGID_COMPAT_16_H__
> +
> +
> +#include "linux_syscall_numbers.h"
> +#include "compat_gid.h"
> +
> +
> +#ifdef TST_USE_COMPAT16_SYSCALL
> +
> +GID_T
> +GETGID(void)
> +{
> +     return syscall(__NR_getgid);
> +}
> +
> +GID_T
> +GETEGID(void)
> +{
> +     return syscall(__NR_getegid);
> +}
> +
> +#else
> +
> +GID_T
> +GETGID(void)
> +{
> +     return getgid();
> +}
> +
> +GID_T
> +GETEGID(void)
> +{
> +     return getegid();
> +}
> +
> +#endif
> +
> +#endif /* __GETGID_COMPAT_16_H__ */
> diff --git a/testcases/kernel/syscalls/getgid/getgid01.c 
> b/testcases/kernel/syscalls/getgid/getgid01.c
> index 8ad1140..a5b9e66 100644
> --- a/testcases/kernel/syscalls/getgid/getgid01.c
> +++ b/testcases/kernel/syscalls/getgid/getgid01.c
> @@ -116,13 +116,14 @@
>  #include <signal.h>
>  #include "test.h"
>  #include "usctest.h"
> +#include "compat_16.h"
> 
>  void setup();
>  void cleanup();
> 
> 
> 
> -char *TCID="getgid01";               /* Test program identifier.    */
> +TCID_DEFINE(getgid01);               /* Test program identifier.    */
>  int TST_TOTAL=1;             /* Total number of test cases. */
>  extern int Tst_count;                /* Test Case counter for tst_* routines 
> */
> 
> @@ -159,7 +160,7 @@ main(int ac, char **av)
>       /* 
>        * Call getgid(2) 
>        */
> -     TEST(getgid());
> +     TEST(GETGID());
>       
>       /* check return code */
>       if ( TEST_RETURN == -1 ) {
> diff --git a/testcases/kernel/syscalls/getgid/getgid02.c 
> b/testcases/kernel/syscalls/getgid/getgid02.c
> index fb5ac66..304ade6 100644
> --- a/testcases/kernel/syscalls/getgid/getgid02.c
> +++ b/testcases/kernel/syscalls/getgid/getgid02.c
> @@ -65,10 +65,12 @@
>  #include "test.h"
>  #include "usctest.h"
> 
> +#include "compat_16.h"
> +
>  void cleanup(void);
>  void setup(void);
> 
> -char *TCID= "getgid02";
> +TCID_DEFINE(getgid02);
>  int TST_TOTAL = 1;
>  extern int Tst_count;
> 
> @@ -93,7 +95,7 @@ int main(int ac, char **av)
>               /* reset Tst_count in case we are looping */
>               Tst_count = 0;
> 
> -             TEST(getegid());
> +             TEST(GETEGID());
> 
>               if (TEST_RETURN < 0) {
>                       tst_brkm(TBROK, cleanup, "This should never happen");
> @@ -107,6 +109,11 @@ int main(int ac, char **av)
>                       if (pwent == NULL) {
>                               tst_brkm(TBROK, cleanup, "geteuid() returned "
>                                        "unexpected value %d", euid);
> +                     } else if (!GID_SIZE_CHECK(pwent->pw_gid)) {
> +                             tst_brkm(TBROK, 
> +                                      cleanup, 
> +                                      "gid for euid %d is too large for 
> testing getegid16",
> +                                      euid);
>                       } else {
>                               if (pwent->pw_gid != TEST_RETURN) {
>                                       tst_resm(TFAIL, "getegid() return value"
> diff --git a/testcases/kernel/syscalls/getgid/getgid03.c 
> b/testcases/kernel/syscalls/getgid/getgid03.c
> index 20a04b6..78a0e4f 100644
> --- a/testcases/kernel/syscalls/getgid/getgid03.c
> +++ b/testcases/kernel/syscalls/getgid/getgid03.c
> @@ -65,10 +65,12 @@
>  #include "test.h"
>  #include "usctest.h"
> 
> +#include "compat_16.h"
> +
>  void cleanup(void);
>  void setup(void);
> 
> -char *TCID= "getgid03";
> +TCID_DEFINE(getgid03);
>  int TST_TOTAL = 1;
>  extern int Tst_count;
> 
> @@ -93,7 +95,7 @@ int main(int ac, char **av)
>               /* reset Tst_count in case we are looping */
>               Tst_count = 0;
> 
> -             TEST(getgid());
> +             TEST(GETGID());
> 
>               if (TEST_RETURN < 0) {
>                       tst_brkm(TBROK, cleanup, "This should never happen");
> @@ -106,6 +108,11 @@ int main(int ac, char **av)
>                       if (pwent == NULL) {
>                               tst_brkm(TBROK, cleanup, "getuid() returned "
>                                        "unexpected value %d", uid);
> +                     } else if (!GID_SIZE_CHECK(pwent->pw_gid)) {
> +                             tst_brkm(TBROK, 
> +                                      cleanup, 
> +                                      "gid for uid %d is too large for 
> testing getgid16",
> +                                     uid);
>                       } else {
>                               if (pwent->pw_gid != TEST_RETURN) {
>                                       tst_resm(TFAIL, "getgid() return value "
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Ltp-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ltp-list


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to