From: <ch...@su...> - 2013-09-25 13:02:34
|
Hi! > On some systems which do not support 16-bit version syscall, > the cleanup() will be called twice in this case leading to > a case failure. > > This patch makes sure calling tst_rmdir() only when the temp dir > still exists. > > Signed-off-by: Ma Shimiao <mas...@cn...> > Signed-off-by: Zeng Linggang <zen...@cn...> > --- > testcases/kernel/syscalls/setuid/setuid04.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/testcases/kernel/syscalls/setuid/setuid04.c b/testcases/kernel/syscalls/setuid/setuid04.c > index d8e991e..4f2cabd 100644 > --- a/testcases/kernel/syscalls/setuid/setuid04.c > +++ b/testcases/kernel/syscalls/setuid/setuid04.c > @@ -175,7 +175,11 @@ static void setup(void) > > static void cleanup(void) > { > + char *tmpdir; > close(fd); > - tst_rmdir(); > + tmpdir = get_tst_tmpdir(); > + if (!access(tmpdir, F_OK)) > + tst_rmdir(); > + free(tmpdir); > TEST_CLEANUP; This is not the best course of action. It would be better to figure out why the cleanup is executed twice and fix the cause rather than the symptoms. -- Cyril Hrubis ch...@su... |