diff --git a/tests/uname.c b/tests/uname.c
index 0f1b5f3..571cf9b 100644
--- a/tests/uname.c
+++ b/tests/uname.c
@@ -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;
diff --git a/tests/uname.test b/tests/uname.test
index e699f1c..9ba529b 100755
--- a/tests/uname.test
+++ b/tests/uname.test
@@ -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"
