[PATCH v3] tests/mknod.c: add workaround for ppc bug in travis

Ákos Uzonyi uzonyi.akos at gmail.com
Tue Aug 25 14:29:30 UTC 2020


On ppc travis builds syscall(mknod) sometimes does not fail with EEXISTS
as expected, but returns successfully. This commit uses sprintrc for
errno printing, which handles successful return values too.

* tests/mknod.c (main): Use sprintrc for printing errno.
---
 tests/mknod.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/tests/mknod.c b/tests/mknod.c
index 44c6f028..7fbe693c 100644
--- a/tests/mknod.c
+++ b/tests/mknod.c
@@ -31,44 +31,44 @@ main(int ac, char **av)
 	sample = av[0];
 
 	long rc = call_mknod(0, dev);
-	printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", 000) = %s\n",
+	       sample, sprintrc(rc));
 
 	rc = call_mknod(0xffff, dev);
-	printf("mknod(\"%s\", %#03ho) = %ld %s (%m)\n",
-	       sample, (unsigned short) -1, rc, errno2name());
+	printf("mknod(\"%s\", %#03ho) = %s\n",
+	       sample, (unsigned short) -1, sprintrc(rc));
 
 	rc = call_mknod(S_IFREG, 0);
-	printf("mknod(\"%s\", S_IFREG|000) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", S_IFREG|000) = %s\n",
+	       sample, sprintrc(rc));
 
 	rc = call_mknod(S_IFDIR | 06, 0);
-	printf("mknod(\"%s\", S_IFDIR|006) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", S_IFDIR|006) = %s\n",
+	       sample, sprintrc(rc));
 
 	rc = call_mknod(S_IFLNK | 060, 0);
-	printf("mknod(\"%s\", S_IFLNK|060) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", S_IFLNK|060) = %s\n",
+	       sample, sprintrc(rc));
 
 	rc = call_mknod(S_IFIFO | 0600, 0);
-	printf("mknod(\"%s\", S_IFIFO|0600) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", S_IFIFO|0600) = %s\n",
+	       sample, sprintrc(rc));
 
 	dev = (unsigned long) 0xdeadbeef00000000ULL | makedev(1, 7);
 
 	rc = call_mknod(S_IFCHR | 024, dev);
-	printf("mknod(\"%s\", S_IFCHR|024, makedev(0x1, 0x7)) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
+	printf("mknod(\"%s\", S_IFCHR|024, makedev(0x1, 0x7)) = %s\n",
+	       sample, sprintrc(rc));
 
 	const unsigned short mode = (0xffff & ~S_IFMT) | S_IFBLK;
 	dev = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 	rc = call_mknod(mode, dev);
 	printf("mknod(\"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho"
-	       ", makedev(%#x, %#x)) = %ld %s (%m)\n",
+	       ", makedev(%#x, %#x)) = %s\n",
 	       sample, (short) (mode & ~(S_IFMT|S_ISUID|S_ISGID|S_ISVTX)),
 	       major((unsigned) dev), minor((unsigned) dev),
-	       rc, errno2name());
+	       sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
-- 
2.28.0



More information about the Strace-devel mailing list