On Wed, Jul 15, 2009 at 6:03 PM, Wang Yong<[email protected]> wrote: > Hi, Subrata Modak > > Subrata Modak wrote as: >> On Thu, 2009-07-09 at 15:35 +0800, Wang Yong wrote: >> >>> Whenever system called utimes, the error message returned was EINVAL, >>> because the member variable of struct timeval was not initialized, >>> so initialize it. >>> >>> Signed-off-by: WangYong <[email protected]> >>> >>> diff -Nurp ltp-full-20090630/testcases/kernel/syscalls/utimes/utimes01.c >>> ltp-full-20090630.new/testcases/kernel/syscalls/utimes/utimes01.c >>> --- ltp.orig/testcases/kernel/syscalls/utimes/utimes01.c 2009-07-01 >>> 17:20:12.000000000 +0800 >>> +++ ltp/testcases/kernel/syscalls/utimes/utimes01.c 2009-07-08 >>> 17:20:38.000000000 +0800 >>> @@ -248,6 +248,7 @@ static int do_test(struct test_case *tc) >>> /* >>> * Execute system call >>> */ >>> + memset(tv, 0, 2 * sizeof(struct timeval)); >>> >> >> Initializing this is good. But i do not find any visible difference in >> running this test pre and post patching either on 2.6.29 or 2.6.18 >> kernels. The following output is generated each time: >> >> # ./testcases/bin/utimes01 >> utimes01 0 INFO : (case00) START >> open failed. >> utimes01 0 INFO : (case00) END => NG >> utimes01 0 INFO : (case01) START >> open failed. >> utimes01 0 INFO : (case01) END => NG >> utimes01 0 INFO : (case02) START >> open failed. >> utimes01 0 INFO : (case02) END => NG >> utimes01 0 INFO : (case03) START >> open failed. >> utimes01 0 INFO : (case03) END => NG >> utimes01 0 INFO : (case04) START >> open failed. >> utimes01 0 INFO : (case04) END => NG >> utimes01 1 FAIL : utimes01 failed - errno = 2 : No such file or >> directory >> utimes01 0 INFO : NG >> >> # echo $? >> 1 >> > I have fixed this problem. > > > [PATCH] Fix failure of the utimes01 test > > Whenever system called utimes, the error message returned was EINVAL, > because the member variable of struct timeval was not initialized, > so initialize it. > This patch also fixed the path which we pass to setup_file(). If > progdir is not a absolute pathname of the working directory, the file > open will fail. > > Signed-off-by: WangYong <[email protected]> > > --- a/testcases/kernel/syscalls/utimes/utimes01.c 2009-07-15 > 10:22:41.000000000 +0800 > +++ b/testcases/kernel/syscalls/utimes/utimes01.c 2009-07-16 > 08:55:13.000000000 +0800 > @@ -138,7 +138,6 @@ void setup() { > */ > static int opt_debug; > static char *progname; > -static char *progdir; > > enum test_type { > NORMAL, > @@ -232,7 +231,7 @@ static int do_test(struct test_case *tc) > struct stat st; > uid_t old_uid; > > - TEST(rc = setup_file(progdir, "test.file", fpath)); > + TEST(rc = setup_file(TESTDIR, "test.file", fpath)); > if (rc < 0) > return 1; > > @@ -248,6 +247,7 @@ static int do_test(struct test_case *tc) > /* > * Execute system call > */ > + memset(tv, 0, sizeof(tv)); > tv[0].tv_sec = tc->a_sec; > tv[1].tv_sec = tc->m_sec; > TEST(len = strlen(fpath)); > @@ -338,9 +338,6 @@ int main(int ac, char **av) { > progname = strchr(av[0], '/'); > progname = progname ? progname + 1 : av[0]; > > - progdir = strdup(av[0]); > - progdir = dirname(progdir); > - > /* parse standard options */ > if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char > *)NULL){ > tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
That patch works so I'm going to commit it to CVS: gcoo...@orangebox /scratch/ltp-nova2/ltp-nova $ testcases/kernel/syscalls/utimes/utimes01 utimes01 0 INFO : (case00) START utimes01 0 INFO : E:0,1000 <=> R:0,1000 EXPECT: return value(ret)=(N >= 0) errno=0 (Success) RESULT: return value(ret)= 0 errno=0 (Success) utimes01 0 INFO : (case00) END => OK utimes01 0 INFO : (case01) START utimes01 0 INFO : E:1000,0 <=> R:1000,0 EXPECT: return value(ret)=(N >= 0) errno=0 (Success) RESULT: return value(ret)= 0 errno=0 (Success) utimes01 0 INFO : (case01) END => OK utimes01 0 INFO : (case02) START seteuid failed. utimes01 0 INFO : (case02) END => OK utimes01 0 INFO : (case03) START EXPECT: return value(ret)=-1 errno=2 (No such file or directory) RESULT: return value(ret)=-1 errno=2 (No such file or directory) utimes01 0 INFO : (case03) END => OK utimes01 0 INFO : (case04) START EXPECT: return value(ret)=-1 errno=14 (Bad address) RESULT: return value(ret)=-1 errno=14 (Bad address) utimes01 0 INFO : (case04) END => OK utimes01 1 PASS : utimes call succeeded Thanks! -Garrett ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
