]> granicus.if.org Git - zfs/commitdiff
Introduce tests for python scripts
authorGiuseppe Di Natale <dinatale2@llnl.gov>
Tue, 4 Oct 2016 22:13:42 +0000 (15:13 -0700)
committerGiuseppe Di Natale <dinatale2@llnl.gov>
Thu, 6 Oct 2016 20:11:57 +0000 (13:11 -0700)
Implement tests to ensure that python scripts
that are distributed with ZFS continue to at
minimum run without errors. This will help prevent
accidental breaking of these scripts.

Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
tests/runfiles/linux.run
tests/zfs-tests/include/default.cfg.in
tests/zfs-tests/tests/functional/cli_user/misc/Makefile.am
tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/cli_user/misc/dbufstat_001_pos.ksh [new file with mode: 0755]
zfs-script-config.sh.in

index 92f867ab96e25e675ed898f839b5aec92c6b0b9a..7325228310971290aaed5710fbcd8ed45a17e3a2 100644 (file)
@@ -355,7 +355,8 @@ tests = ['zdb_001_neg', 'zfs_001_neg', 'zfs_allow_001_neg',
     'zpool_history_001_neg', 'zpool_import_001_neg', 'zpool_import_002_neg',
     'zpool_offline_001_neg', 'zpool_online_001_neg', 'zpool_remove_001_neg',
     'zpool_replace_001_neg', 'zpool_scrub_001_neg', 'zpool_set_001_neg',
-    'zpool_status_001_neg', 'zpool_upgrade_001_neg']
+    'zpool_status_001_neg', 'zpool_upgrade_001_neg', 'arcstat_001_pos',
+    'arc_summary_001_pos', 'dbufstat_001_pos']
 user =
 
 [tests/functional/cli_user/zfs_list]
index a36ab3b1a4529aa488ccad710c5cb8b056830db1..f93bfa98c91740078e503ae3351d534750805f59 100644 (file)
@@ -43,6 +43,9 @@ export ZPOOL=${ZPOOL:-${sbindir}/zpool}
 export ZTEST=${ZTEST:-${sbindir}/ztest}
 export ZPIOS=${ZPIOS:-${sbindir}/zpios}
 export RAIDZ_TEST=${RAIDZ_TEST:-${bindir}/raidz_test}
+export ARC_SUMMARY=${ARC_SUMMARY:-${bindir}/arc_summary.py}
+export ARCSTAT=${ARCSTAT:-${bindir}/arcstat.py}
+export DBUFSTAT=${DBUFSTAT:-${bindir}/dbufstat.py}
 
 . $STF_SUITE/include/libtest.shlib
 
index dad922c6dd46d729648978282b63a8383429f5fc..cf7502c27eac5f0b89063697b5bdcc5030f05a33 100644 (file)
@@ -43,4 +43,7 @@ dist_pkgdata_SCRIPTS = \
        zpool_scrub_001_neg.ksh \
        zpool_set_001_neg.ksh \
        zpool_status_001_neg.ksh \
-       zpool_upgrade_001_neg.ksh
+       zpool_upgrade_001_neg.ksh \
+       arcstat_001_pos.ksh \
+       arc_summary_001_pos.ksh \
+       dbufstat_001_pos.ksh
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh
new file mode 100755 (executable)
index 0000000..e65fbe6
--- /dev/null
@@ -0,0 +1,40 @@
+#! /bin/ksh -p
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015 by Lawrence Livermore National Security, LLC.
+# All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+
+set -A args  "" "-a" "-d" "-p 1"
+
+log_assert "arc_summary.py generates output and doesn't return an error code"
+
+typeset -i i=0
+while [[ $i -lt ${#args[*]} ]]; do
+        log_must eval "$ARC_SUMMARY ${args[i]} > /dev/null"
+        ((i = i + 1))
+done
+
+log_pass "arc_summary.py generates output and doesn't return an error code"
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh
new file mode 100755 (executable)
index 0000000..edf80b1
--- /dev/null
@@ -0,0 +1,41 @@
+#! /bin/ksh -p
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015 by Lawrence Livermore National Security, LLC.
+# All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+
+set -A args  "" "-s \",\"" "-x" "-v" \
+    "-f time,hit%,dh%,ph%,mh%"
+
+log_assert "arcstat.py generates output and doesn't return an error code"
+
+typeset -i i=0
+while [[ $i -lt ${#args[*]} ]]; do
+        log_must eval "$ARCSTAT ${args[i]} > /dev/null"
+        ((i = i + 1))
+done
+log_pass "arcstat.py generates output and doesn't return an error code"
+
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/dbufstat_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/dbufstat_001_pos.ksh
new file mode 100755 (executable)
index 0000000..229ba72
--- /dev/null
@@ -0,0 +1,40 @@
+#! /bin/ksh -p
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015 by Lawrence Livermore National Security, LLC.
+# All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+
+set -A args  "" "-b" "-d" "-r" "-v" "-s \",\"" "-x"
+
+log_assert "dbufstat.py generates output and doesn't return an error code"
+
+typeset -i i=0
+while [[ $i -lt ${#args[*]} ]]; do
+        log_must eval "$DBUFSTAT ${args[i]} > /dev/null"
+        ((i = i + 1))
+done
+
+log_pass "dbufstat.py generates output and doesn't return an error code"
index 594958fa03179dac9c79b6026642a40aa30decc9..d1ba71d7641b45ee6c820e52bd6b44cf9d391423 100644 (file)
@@ -29,6 +29,9 @@ export ZPOOL=${CMDDIR}/zpool/zpool
 export ZTEST=${CMDDIR}/ztest/ztest
 export ZPIOS=${CMDDIR}/zpios/zpios
 export RAIDZ_TEST=${CMDDIR}/raidz_test/raidz_test
+export ARC_SUMMARY=${CMDDIR}/arc_summary/arc_summary.py
+export ARCSTAT=${CMDDIR}/arcstat/arcstat.py
+export DBUFSTAT=${CMDDIR}/dbufstat/dbufstat.py
 
 export COMMON_SH=${SCRIPTDIR}/common.sh
 export ZFS_SH=${SCRIPTDIR}/zfs.sh