]> granicus.if.org Git - strace/commitdiff
tests/uname.test: check abbreviated output, use print_quoted_string
authorJayRJoshi <jay.r.joshi100@gmail.com>
Thu, 24 Mar 2016 07:09:32 +0000 (12:39 +0530)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 28 Mar 2016 23:25:30 +0000 (23:25 +0000)
* tests/uname.c (main): Use print_quoted_string to print
utsname members.  Add abbrev check.
* tests/uname.test: Add abbrev check.

tests/uname.c
tests/uname.test

index 0f1b5f34c8260cf9627cac82bd2d7ccb2dea776b..571cf9bec08a7fd069df26c54c58814973133acd 100644 (file)
@@ -7,25 +7,31 @@
 # include <sys/utsname.h>
 # include <unistd.h>
 
-int main()
+int main(int ac, char **av)
 {
+       int abbrev = ac > 1;
        struct utsname *const uname = tail_alloc(sizeof(struct utsname));
        int rc = syscall(__NR_uname, uname);
-       printf("uname({sysname=\"%s\", nodename=\"%s\", release=\"%s\""
-              ", version=\"%s\", machine=\"%s\""
+       printf("uname({sysname=\"");
+       print_quoted_string(uname->sysname);
+       printf("\", nodename=\"");
+       print_quoted_string(uname->nodename);
+       if (abbrev) {
+               printf("\", ...");
+       } else {
+               printf("\", release=\"");
+               print_quoted_string(uname->release);
+               printf("\", version=\"");
+               print_quoted_string(uname->version);
+               printf("\", machine=\"");
+               print_quoted_string(uname->machine);
 # ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
-              ", domainname=\"%s\""
+               printf("\", domainname=\"");
+               print_quoted_string(uname->domainname);
 # endif
-              "}) = %d\n",
-              uname->sysname,
-              uname->nodename,
-              uname->release,
-              uname->version,
-              uname->machine,
-# ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
-              uname->domainname,
-# endif
-              rc);
+               printf("\"");
+       }
+       printf("}) = %d\n", rc);
 
        puts("+++ exited with 0 +++");
        return 0;
index e699f1cd1ed9d7b3a0b5aa336ab79b2afb0a28ee..9ba529b4be3ec7ed9beddb77ef459627bed54fbc 100755 (executable)
@@ -6,10 +6,16 @@
 
 check_prog uniq
 
-run_prog > /dev/null
 OUT="$LOG.out"
 EXP="$LOG.exp"
+
+run_prog > /dev/null
 run_strace -v -euname $args > "$EXP"
 uniq < "$LOG" > "$OUT"
+
+run_prog "./${ME_%.test}" abbrev > /dev/null
+run_strace -euname $args >> "$EXP"
+uniq < "$LOG" >> "$OUT"
+
 match_diff "$OUT" "$EXP"
 rm -f "$OUT" "$EXP"