]> granicus.if.org Git - strace/commitdiff
tests: fix threads-execve.test for large pids
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 14 Dec 2016 01:02:03 +0000 (01:02 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 14 Dec 2016 01:02:03 +0000 (01:02 +0000)
* tests/threads-execve.c (main): Fix expected output for large pids.

NEWS
tests/threads-execve.c

diff --git a/NEWS b/NEWS
index e36717aa64c480413e9577b02d31ec82a26c4d65..19c73ed37d7fdbbfc4fcb58cbfb918869dbb57de 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Noteworthy changes in release 4.15 (2016-12-13)
+Noteworthy changes in release 4.15 (2016-12-14)
 
 * Changes in behavior
   * Time stamps are now printed according to ISO 8601.
index f8f2786838c1d0cf01c086b66a349d482b443754..853645ffa10ea541aeda721743b19f3e2997377c 100644 (file)
@@ -216,22 +216,27 @@ main(int ac, char **av)
        sigset_t mask;
        sigemptyset(&mask);
 
+       static char leader_str[sizeof(leader) * 3];
+       int leader_str_len =
+               snprintf(leader_str, sizeof(leader_str), "%-5d", leader);
+
        switch (action % NUMBER_OF_ACTIONS) {
                case ACTION_exit:
-                       printf("%-5d exit(42)       = ?\n", leader);
+                       printf("%s exit(42)%*s= ?\n", leader_str,
+                              (int) sizeof(leader_str) - leader_str_len, " ");
                        close(fds[1]);
                        (void) syscall(__NR_exit, 42);
                        break;
                case ACTION_rt_sigsuspend:
-                       printf("%-5d rt_sigsuspend([], %u <unfinished ...>\n",
-                              leader, sigsetsize);
+                       printf("%s rt_sigsuspend([], %u <unfinished ...>\n",
+                              leader_str, sigsetsize);
                        close(fds[1]);
                        (void) k_sigsuspend(&mask);
                        break;
                case ACTION_nanosleep:
-                       printf("%-5d nanosleep({tv_sec=%u, tv_nsec=0}"
+                       printf("%s nanosleep({tv_sec=%u, tv_nsec=0}"
                               ",  <unfinished ...>\n",
-                              leader, (unsigned int) ts.tv_sec);
+                              leader_str, (unsigned int) ts.tv_sec);
                        close(fds[1]);
                        (void) nanosleep(&ts, 0);
                        break;