svn commit: r317309 - head/tools/regression/geom_gpt

Ngie Cooper ngie at FreeBSD.org
Sat Apr 22 23:30:04 UTC 2017


Author: ngie
Date: Sat Apr 22 23:30:02 2017
New Revision: 317309
URL: https://svnweb.freebsd.org/changeset/base/317309

Log:
  gctl_test.t: improve error reporting with mdcfg and mount directives
  
  If the commands had failed previously, it would press on and result in a
  series of cascading failures. Fail early and continue on to the next case
  instead of executing additional commands after a previously failed series
  of steps.
  
  MFC after:      5 weeks
  Sponsored by:   Dell EMC Isilon

Modified:
  head/tools/regression/geom_gpt/gctl_test.t

Modified: head/tools/regression/geom_gpt/gctl_test.t
==============================================================================
--- head/tools/regression/geom_gpt/gctl_test.t	Sat Apr 22 23:27:40 2017	(r317308)
+++ head/tools/regression/geom_gpt/gctl_test.t	Sat Apr 22 23:30:02 2017	(r317309)
@@ -161,13 +161,15 @@ foreach my $key (sort keys %steps) {
     $res =~ s/%dev%/$dev/g;
 
     if ($action =~ "^gctl") {
+	my $errmsg = "";
 	system("$cmd $verbose $args | tee $out 2>&1");
-	$st = `tail -1 $out`;
-	if ($st =~ "^$res") {
-	    print "ok $nr \# gctl($key)\n";
-	} else {
-	    print "not ok $nr \# gctl($key) - $st\n";
+	chomp($st = `tail -1 $out`);
+	if ($st ne $res) {
+	    $errmsg = "\"$st\" (actual) != \"$res\" (expected)\n";
 	}
+	printf("%sok $nr \# gctl($key)%s\n",
+	    ($errmsg eq "" ? "" : "not "),
+	    ($errmsg eq "" ? "" : " - $errmsg"));
 	unlink $out;
     } elsif ($action =~ "^mdcfg") {
 	if ($args =~ "^create") {
@@ -194,10 +196,18 @@ foreach my $key (sort keys %steps) {
 	}
 	unlink $out;
     } elsif ($action =~ "^mount") {
-	    system("mkdir $mntpt_prefix-$args");
-	    system("newfs $args");
-	    system("mount -t ufs /dev/$args $mntpt_prefix-$args");
-	    print "ok $nr \# mount($key)\n";
+	my $errmsg = "";
+	mkdir("$mntpt_prefix-$args");
+	if (system("newfs /dev/$args") == 0) {
+	    if (system("mount /dev/$args $mntpt_prefix-$args") != 0) {
+		$errmsg = "mount failed";
+	    }
+	} else {
+	    $errmsg = "newfs failed";
+	}
+	printf("%sok $nr # mount($key)%s\n",
+	    ($errmsg eq "" ? "" : "not "),
+	    ($errmsg eq "" ? "" : " - $errmsg"));
     } elsif ($action =~ "^umount") {
 	system("umount $mntpt_prefix-$args");
 	system("rmdir $mntpt_prefix-$args");


More information about the svn-src-all mailing list