[PATCH] check: force hostname to be unique

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



If you use a hostname which is part of the output of
standard tools you end up with failures with fstests
due to differences in output against the golden output.

The failures are false positives due to the hostname.
For instance if you hostname is 'xfs' _dump_filter_main()
will substitute the initiial 'xfs' with HOSTNAME as part
of your logs, and will fail the output will fail against
the golden output on say all xfsdump / xfsrestores tests.

The hostname must be a unique string, not used as part
of the output from any tool used when capturing output.

Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
---

We could be more pedantic about uniqueness, but this should suffice at
last of most issues.

 README |  2 ++
 check  | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/README b/README
index 73f057f3..7128da67 100644
--- a/README
+++ b/README
@@ -22,6 +22,8 @@ _______________________
 - create fsgqa test user ("sudo useradd fsgqa")
 - create fsgqa group ("sudo groupadd fsgqa")
 - create 123456-fsgqa test user ("sudo useradd 123456-fsgqa")
+- assign a unique hostname to the test system. It must not clash with
+  any word used on output by standard tools or tools for your filesystem.
 
 ______________________
 USING THE FSQA SUITE
diff --git a/check b/check
index 77a06b00..3a0bb026 100755
--- a/check
+++ b/check
@@ -251,6 +251,40 @@ _prepare_test_list()
 	fi
 }
 
+_invalid_hostname()
+{
+	host_check=`hostname`
+
+	case $host_check in
+	xfs)
+		return 1;
+	;;
+	btrfs)
+		return 1;
+	;;
+	ext4)
+		return 1;
+	;;
+	ext3)
+		return 1;
+	;;
+	ext2)
+		return 1;
+	;;
+	esac
+
+	return 0
+}
+
+_check_unique_hostname()
+{
+	_invalid_hostname
+	if [ $? -ne -0 ]; then
+		echo "Hostname `hostname` is not unique, make a unique hostname to avoid output log clashes with tools"
+		exit 1
+	fi
+}
+
 # Process command arguments first.
 while [ $# -gt 0 ]; do
 	case "$1" in
@@ -371,6 +405,8 @@ then
     exit 1
 fi
 
+_check_unique_hostname
+
 _wipe_counters()
 {
 	n_try="0"
-- 
2.20.1




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux