Breno Leitao (leitao@linux.vnet.ibm.com) fixed these for running on NFS mounted systems
diff --git a/testcases/kernel/syscalls/chdir/chdir01.c b/testcases/kernel/syscalls/chdir/chdir01.c
index a234123..2713de4 100644
--- a/testcases/kernel/syscalls/chdir/chdir01.c
+++ b/testcases/kernel/syscalls/chdir/chdir01.c
@@ -139,6 +139,7 @@
chdir("..");
}
+ close(fd);
cleanup();
return 0;
diff --git a/testcases/kernel/syscalls/creat/creat03.c b/testcases/kernel/syscalls/creat/creat03.c
index 5120246..dddef9b 100644
--- a/testcases/kernel/syscalls/creat/creat03.c
+++ b/testcases/kernel/syscalls/creat/creat03.c
@@ -106,6 +106,7 @@
tst_resm(TPASS, "call succeeded");
}
+ close(TEST_RETURN);
/* clean up things in case we are looping */
if (unlink(pfilname) == -1) {
tst_brkm(TBROK, cleanup, "couldn't remove file");
diff --git a/testcases/kernel/syscalls/creat/creat05.c b/testcases/kernel/syscalls/creat/creat05.c
index a264a1b..cff2d53 100644
--- a/testcases/kernel/syscalls/creat/creat05.c
+++ b/testcases/kernel/syscalls/creat/creat05.c
@@ -164,6 +164,7 @@
}
break;
}
+ close(fd);
}
}
@@ -192,7 +193,7 @@
* print timing stats if that option was specified.
* print errno log if that option was specified.
*/
- close(first);
+ close(first);
TEST_CLEANUP;
diff --git a/testcases/kernel/syscalls/dup2/dup202.c b/testcases/kernel/syscalls/dup2/dup202.c
index f86cd19..8c67d1c 100644
--- a/testcases/kernel/syscalls/dup2/dup202.c
+++ b/testcases/kernel/syscalls/dup2/dup202.c
@@ -144,6 +144,9 @@
}
/* remove the file so that we can use it again */
+ if (-1 == close(*TC[i].nfd)) {
+ printf("close failed\n");
+ }
if (-1 == close(ofd)) {
printf("close failed\n");
}
diff --git a/testcases/kernel/syscalls/dup2/dup203.c b/testcases/kernel/syscalls/dup2/dup203.c
index e62d005..5448db0 100644
--- a/testcases/kernel/syscalls/dup2/dup203.c
+++ b/testcases/kernel/syscalls/dup2/dup203.c
@@ -197,6 +197,8 @@
} else {
tst_resm(TPASS, "call succeeded");
}
+ close(fd0);
+ close(fd1);
unlink(filename0);
tst_resm(TINFO, "Exit block 2");
diff --git a/testcases/kernel/syscalls/execve/execve04.c b/testcases/kernel/syscalls/execve/execve04.c
index acf5d4a..d9e3f92 100644
--- a/testcases/kernel/syscalls/execve/execve04.c
+++ b/testcases/kernel/syscalls/execve/execve04.c
@@ -195,6 +195,7 @@
"create %d files: %s", ifile + 1, nfile, strerror(errno));
cleanup();
}
+ close(fd);
}
}
@@ -210,7 +211,7 @@
* print timing stats if that option was specified.
* print errno log if that option was specified.
*/
- close(first);
+ close(first);
TEST_CLEANUP;
diff --git a/testcases/kernel/syscalls/flock/flock01.c b/testcases/kernel/syscalls/flock/flock01.c
index 6e15df0..ae014a0 100644
--- a/testcases/kernel/syscalls/flock/flock01.c
+++ b/testcases/kernel/syscalls/flock/flock01.c
@@ -142,6 +142,8 @@
}/* End of TEST_LOOPING */
+ close(fd);
+
cleanup();
return 0;
diff --git a/testcases/kernel/syscalls/flock/flock02.c b/testcases/kernel/syscalls/flock/flock02.c
index 19d2c7f..94ad610 100644
--- a/testcases/kernel/syscalls/flock/flock02.c
+++ b/testcases/kernel/syscalls/flock/flock02.c
@@ -160,6 +160,8 @@
}/* End of TEST_LOOPING */
+ close(fd);
+
cleanup();
return 0;
diff --git a/testcases/kernel/syscalls/flock/flock03.c b/testcases/kernel/syscalls/flock/flock03.c
index b5bb865..b8e542a 100644
--- a/testcases/kernel/syscalls/flock/flock03.c
+++ b/testcases/kernel/syscalls/flock/flock03.c
@@ -152,6 +152,8 @@
tst_resm(TPASS, "flock03 Passed");
else
tst_resm(TFAIL, "flock03 Failed");
+
+ close(fd);
}/* End of TEST_LOOPING */
@@ -192,6 +194,7 @@
else
tst_resm(TPASS, "Child: flock after unlocking passed");
+ close(fd);
close(fd2);
tst_exit();
@@ -235,6 +238,7 @@
/* exit with return code appropriate for result */
tst_exit();
}
+ close(fd);
}
/*
diff --git a/testcases/kernel/syscalls/flock/flock04.c b/testcases/kernel/syscalls/flock/flock04.c
index f82b579..d4b1752 100644
--- a/testcases/kernel/syscalls/flock/flock04.c
+++ b/testcases/kernel/syscalls/flock/flock04.c
@@ -170,6 +170,8 @@
tst_resm(TFAIL, "flock() failed to acquire shared lock");
}
+ close(fd);
+ close(fd1);
}/* End of TEST_LOOPING */
cleanup();
diff --git a/testcases/kernel/syscalls/flock/flock05.c b/testcases/kernel/syscalls/flock/flock05.c
index 2f6fff2..81341e1 100644
--- a/testcases/kernel/syscalls/flock/flock05.c
+++ b/testcases/kernel/syscalls/flock/flock05.c
@@ -170,6 +170,8 @@
}/* End of TEST_LOOPING */
+ close(fd);
+ close(fd1);
cleanup();
return 0;
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/flock/flock06.c b/testcases/kernel/syscalls/flock/flock06.c
index 3a9d7d6..c1503b8 100644
--- a/testcases/kernel/syscalls/flock/flock06.c
+++ b/testcases/kernel/syscalls/flock/flock06.c
@@ -97,46 +97,48 @@
/* The following loop checks looping state if -i option given */
for (lc = 0; TEST_LOOPING(lc); lc++) {
- int fd1, fd2;
+ int fd1, fd2;
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
+ /* reset Tst_count in case we are looping */
+ Tst_count = 0;
- fd1 = open(filename, O_RDWR);
- if (fd1 == -1)
- tst_brkm(TFAIL, cleanup, "failed to open the"
- "file, errno %d", errno);
+ fd1 = open(filename, O_RDWR);
+ if (fd1 == -1)
+ tst_brkm(TFAIL, cleanup, "failed to open the"
+ "file, errno %d", errno);
- TEST(flock(fd1, LOCK_EX | LOCK_NB));
- if (TEST_RETURN != 0)
- tst_resm(TFAIL, "First attempt to flock() failed, "
- "errno %d",TEST_ERRNO);
- else
- tst_resm(TPASS, "First attempt to flock() passed");
+ TEST(flock(fd1, LOCK_EX | LOCK_NB));
+ if (TEST_RETURN != 0)
+ tst_resm(TFAIL, "First attempt to flock() failed, "
+ "errno %d",TEST_ERRNO);
+ else
+ tst_resm(TPASS, "First attempt to flock() passed");
- fd2 = open(filename, O_RDWR);
- if (fd2 == -1)
- tst_brkm(TFAIL, cleanup, "failed to open the"
- "file, errno %d", errno);
+ fd2 = open(filename, O_RDWR);
+ if (fd2 == -1)
+ tst_brkm(TFAIL, cleanup, "failed to open the"
+ "file, errno %d", errno);
- TEST(flock(fd2, LOCK_EX | LOCK_NB));
- if (TEST_RETURN == -1)
- tst_resm(TPASS, "Second attempt to flock() denied");
- else
- tst_resm(TFAIL, "Second attempt to flock() succeeded!");
+ TEST(flock(fd2, LOCK_EX | LOCK_NB));
+ if (TEST_RETURN == -1)
+ tst_resm(TPASS, "Second attempt to flock() denied");
+ else
+ tst_resm(TFAIL, "Second attempt to flock() succeeded!");
- TEST(flock(fd1, LOCK_UN));
- if (TEST_RETURN == -1)
- tst_resm(TFAIL, "Failed to unlock fd1, errno %d",
- TEST_ERRNO);
- else
- tst_resm(TPASS, "Unlocked fd1");
+ TEST(flock(fd1, LOCK_UN));
+ if (TEST_RETURN == -1)
+ tst_resm(TFAIL, "Failed to unlock fd1, errno %d",
+ TEST_ERRNO);
+ else
+ tst_resm(TPASS, "Unlocked fd1");
- TEST(flock(fd2, LOCK_EX | LOCK_NB));
- if (TEST_RETURN == -1)
- tst_resm(TFAIL, "Third attempt to flock() denied!");
- else
- tst_resm(TPASS, "Third attempt to flock() succeeded");
+ TEST(flock(fd2, LOCK_EX | LOCK_NB));
+ if (TEST_RETURN == -1)
+ tst_resm(TFAIL, "Third attempt to flock() denied!");
+ else
+ tst_resm(TPASS, "Third attempt to flock() succeeded");
+ close(fd1);
+ close(fd2);
}/* End of TEST_LOOPING */
@@ -153,35 +155,36 @@
*/
void setup(void)
{
- int fd;
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
+ int fd;
+ /* capture signals */
+ tst_sig(FORK, DEF_HANDLER, cleanup);
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
+ /* Pause if that option was specified
+ * TEST_PAUSE contains the code to fork the test with the -i option.
+ * You want to make sure you do this before you create your temporary
+ * directory.
+ */
+ TEST_PAUSE;
- /* Create a unique temporary directory and chdir() to it. */
- tst_tmpdir();
+ /* Create a unique temporary directory and chdir() to it. */
+ tst_tmpdir();
- sprintf(filename, "flock06.%d", getpid());
+ sprintf(filename, "flock06.%d", getpid());
- /* creating temporary file */
- fd = creat(filename, 0666);
- if (fd < 0) {
- tst_resm(TFAIL, "creating a new file failed");
-
- TEST_CLEANUP;
+ /* creating temporary file */
+ fd = creat(filename, 0666);
+ if (fd < 0) {
+ tst_resm(TFAIL, "creating a new file failed");
+
+ TEST_CLEANUP;
- /* Removing temp dir */
- tst_rmdir();
+ /* Removing temp dir */
+ tst_rmdir();
- /* exit with return code appropriate for result */
- tst_exit();
- }
+ /* exit with return code appropriate for result */
+ tst_exit();
+ }
+ close(fd);
}
/*
diff --git a/testcases/kernel/syscalls/fork/fork07.c b/testcases/kernel/syscalls/fork/fork07.c
index ee6cd72..9363c69 100644
--- a/testcases/kernel/syscalls/fork/fork07.c
+++ b/testcases/kernel/syscalls/fork/fork07.c
@@ -183,6 +183,8 @@
tst_brkm(TBROK, cleanup, "Collected %d more children then I should have!", abs(forks));
}
}
+ fclose(writ);
+ fclose(rea);
cleanup();
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/mprotect/mprotect02.c b/testcases/kernel/syscalls/mprotect/mprotect02.c
index 159eb24..5b6b45a 100644
--- a/testcases/kernel/syscalls/mprotect/mprotect02.c
+++ b/testcases/kernel/syscalls/mprotect/mprotect02.c
@@ -184,6 +184,9 @@
/* clean up things in case we are looping */
+ if (munmap(addr, strlen(buf)) == -1){
+ tst_brkm(TBROK, cleanup, "close() failed");
+ }
if (close(fd) == -1) {
tst_brkm(TBROK, cleanup, "close() failed");
}
diff --git a/testcases/kernel/syscalls/mprotect/mprotect03.c b/testcases/kernel/syscalls/mprotect/mprotect03.c
index 92c6198..f8a4f02 100644
--- a/testcases/kernel/syscalls/mprotect/mprotect03.c
+++ b/testcases/kernel/syscalls/mprotect/mprotect03.c
@@ -156,6 +156,9 @@
}
/* clean up things in case we are looping */
+ if (munmap(addr, strlen(buf)) == -1){
+ tst_brkm(TBROK, cleanup, "munamp failed");
+ }
if (close(fd) == -1) {
tst_brkm(TBROK, cleanup, "close failed");
}
diff --git a/testcases/kernel/syscalls/open/open04.c b/testcases/kernel/syscalls/open/open04.c
index e9a2969..6a45f9b 100644
--- a/testcases/kernel/syscalls/open/open04.c
+++ b/testcases/kernel/syscalls/open/open04.c
@@ -71,6 +71,7 @@
{
int lc; /* loop counter */
char *msg; /* message returned from parse_opts */
+ int fdo;
/* parse standard options */
if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
@@ -85,6 +86,7 @@
for (lc = 0; TEST_LOOPING(lc); lc++) {
/* reset Tst_count in case we are looping */
Tst_count = 0;
+ int a;
TEST(open(fname, O_RDWR | O_CREAT));
@@ -101,6 +103,8 @@
tst_resm(TPASS, "call returned expected EMFILE error");
}
}
+ close(first);
+ close(fd);
cleanup();
/*NOTREACHED*/
@@ -130,7 +134,8 @@
tst_brkm(TBROK, cleanup, "Cannot open first file");
}
- close(fd);
+ close(fd);
+ close(first);
unlink(fname);
for (ifile = first; ifile <= nfile; ifile++) {
diff --git a/testcases/kernel/syscalls/open/open05.c b/testcases/kernel/syscalls/open/open05.c
index b81be02..35cf885 100644
--- a/testcases/kernel/syscalls/open/open05.c
+++ b/testcases/kernel/syscalls/open/open05.c
@@ -133,6 +133,8 @@
if ((e_code != 0) || (retval != 0)) {
tst_resm(TFAIL, "Failures reported above");
}
+
+ close(fd);
cleanup();
}
diff --git a/testcases/kernel/syscalls/read/read04.c b/testcases/kernel/syscalls/read/read04.c
index 67ff164..1f6d5ad 100644
--- a/testcases/kernel/syscalls/read/read04.c
+++ b/testcases/kernel/syscalls/read/read04.c
@@ -152,6 +152,7 @@
tst_brkm(TBROK, cleanup, "can't write to Xread");
/*NOTREACHED*/
}
+ close(fild);
}
/*
diff --git a/testcases/kernel/syscalls/readv/readv01.c b/testcases/kernel/syscalls/readv/readv01.c
index c5d68f5..d04ac17 100644
--- a/testcases/kernel/syscalls/readv/readv01.c
+++ b/testcases/kernel/syscalls/readv/readv01.c
@@ -123,6 +123,7 @@
"followed by two NULL vectors", CHUNK);
}
}
+ close(fd);
cleanup();
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/readv/readv02.c b/testcases/kernel/syscalls/readv/readv02.c
index bb6d37f..f1761c4 100644
--- a/testcases/kernel/syscalls/readv/readv02.c
+++ b/testcases/kernel/syscalls/readv/readv02.c
@@ -179,6 +179,8 @@
}
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/recvmsg/Makefile b/testcases/kernel/syscalls/recvmsg/Makefile
index 6706403..484a8e5 100644
--- a/testcases/kernel/syscalls/recvmsg/Makefile
+++ b/testcases/kernel/syscalls/recvmsg/Makefile
@@ -16,7 +16,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-CFLAGS += -I../../../../include -Wall
+CFLAGS += -I../../../../include -Wall -g
LDLIBS += -L../../../../lib -lltp
SRCS = $(wildcard *.c)
diff --git a/testcases/kernel/syscalls/recvmsg/recvmsg01.c b/testcases/kernel/syscalls/recvmsg/recvmsg01.c
index 4a83b60..6c9718e 100644
--- a/testcases/kernel/syscalls/recvmsg/recvmsg01.c
+++ b/testcases/kernel/syscalls/recvmsg/recvmsg01.c
@@ -358,12 +358,16 @@
cleanup1(void)
{
(void) close(s);
+ close(ufd);
+ close(sfd);
s = -1;
}
void
cleanup2(void)
{
+ close(ufd);
+ close(sfd);
(void) close(s);
s = -1;
@@ -515,7 +519,6 @@
tfd = mkstemp(tmpfn);
if (tfd < 0)
return;
- (void) unlink(tmpfn);
memset(&mh, 0x00, sizeof(mh));
@@ -539,4 +542,5 @@
/* do it */
(void) sendmsg(fd, &mh, 0);
(void) close(tfd);
+ (void) unlink(tmpfn);
}
diff --git a/testcases/kernel/syscalls/rmdir/rmdir02.c b/testcases/kernel/syscalls/rmdir/rmdir02.c
index 0212323..7779d2d 100644
--- a/testcases/kernel/syscalls/rmdir/rmdir02.c
+++ b/testcases/kernel/syscalls/rmdir/rmdir02.c
@@ -223,6 +223,7 @@
void
set_condition(int num)
{
+ int fd;
switch(num) {
case 1:
/* set up for first test */
@@ -253,10 +254,11 @@
sprintf(tstdir3, "%s/tstdir3", tstfile);
/* create a file */
- if (creat(tstfile, PERMS) == -1) {
+ if ((fd = creat(tstfile, PERMS)) == -1) {
tst_brkm(TBROK, cleanup, "creat() failed");
/*NOTREACHED*/
}
+ close(fd);
break;
default:
tst_brkm(TBROK, cleanup, "illegal setup case - %d", num);
diff --git a/testcases/kernel/syscalls/write/write03.c b/testcases/kernel/syscalls/write/write03.c
index 912940a..4755f22 100644
--- a/testcases/kernel/syscalls/write/write03.c
+++ b/testcases/kernel/syscalls/write/write03.c
@@ -142,6 +142,7 @@
"file");
}
tst_resm(TINFO, "Exit block 1");
+ close(fd);
}
cleanup();
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/write/write05.c b/testcases/kernel/syscalls/write/write05.c
index bc43029..9238965 100644
--- a/testcases/kernel/syscalls/write/write05.c
+++ b/testcases/kernel/syscalls/write/write05.c
@@ -182,6 +182,7 @@
}
tst_resm(TINFO, "Exit Block 3");
}
+ close(fd);
}
cleanup();
/*NOTREACHED*/
diff --git a/testcases/kernel/syscalls/writev/writev01.c b/testcases/kernel/syscalls/writev/writev01.c
index 5f48fd0..565e927 100644
--- a/testcases/kernel/syscalls/writev/writev01.c
+++ b/testcases/kernel/syscalls/writev/writev01.c
@@ -449,6 +449,8 @@
}
tst_resm(TINFO, "Exit block 8");
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
/*NOTREACHED*/
return(0);
diff --git a/testcases/kernel/syscalls/writev/writev02.c b/testcases/kernel/syscalls/writev/writev02.c
index c9b7568..24e3094 100644
--- a/testcases/kernel/syscalls/writev/writev02.c
+++ b/testcases/kernel/syscalls/writev/writev02.c
@@ -219,6 +219,8 @@
}
tst_resm(TINFO, "Exit block 1");
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
return(0);
}
diff --git a/testcases/kernel/syscalls/writev/writev03.c b/testcases/kernel/syscalls/writev/writev03.c
index 1d5bc65..8d98a28 100644
--- a/testcases/kernel/syscalls/writev/writev03.c
+++ b/testcases/kernel/syscalls/writev/writev03.c
@@ -271,6 +271,8 @@
}
tst_resm(TINFO, "Exit block 3");
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
return(0);
}
diff --git a/testcases/kernel/syscalls/writev/writev04.c b/testcases/kernel/syscalls/writev/writev04.c
index 496c61d..4371694 100644
--- a/testcases/kernel/syscalls/writev/writev04.c
+++ b/testcases/kernel/syscalls/writev/writev04.c
@@ -280,6 +280,8 @@
}
tst_resm(TINFO, "Exit block 3");
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
return(0);
}
diff --git a/testcases/kernel/syscalls/writev/writev05.c b/testcases/kernel/syscalls/writev/writev05.c
index 66b9cbd..19c6931 100644
--- a/testcases/kernel/syscalls/writev/writev05.c
+++ b/testcases/kernel/syscalls/writev/writev05.c
@@ -204,6 +204,8 @@
}
tst_resm(TINFO, "Exit block 1");
}
+ close(fd[0]);
+ close(fd[1]);
cleanup();
return(0);
}