1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright (c) 2013 by Delphix. All rights reserved. 14# 15 16ZFS Test Suite README 17 181. Building and installing the ZFS Test Suite 192. Running the ZFS Test Suite 203. Test results 21 22-------------------------------------------------------------------------------- 23 241. Building and installing the ZFS Test Suite 25 26The ZFS Test Suite runs under the testrunner framework (which can be installed 27as pkg:/system/test/testrunner). To build both the ZFS Test Suite and the 28testrunner without running a full nightly: 29 30 build_machine$ bldenv [-d] <your_env_file> 31 build_machine$ cd $SRC/test 32 build_machine$ dmake install 33 build_machine$ cd $SRC/pkg 34 build_machine$ dmake install 35 36Then set the publisher on the test machine to point to your repository and 37install the ZFS Test Suite. 38 39 test_machine# pkg install pkg:/system/test/zfstest 40 41Note, the framework will be installed automatically, as the ZFS Test Suite 42depends on it. 43 442. Running the ZFS Test Suite 45 46The pre-requisites for running the ZFS Test Suite are: 47 - root pool about 100GB (some test data is using /var/tmp) 48 - about 8GB RAM 49 - Three scratch disks (15GB, tests with ufs need 512B native or 512e) 50 - Specify the disks you wish to use in the $DISKS variable, as a 51 space delimited list like this: DISKS='c3t1d0 c3t2d0 c3t3d0' 52 - Use the '-a' option to the zfstest script and all unused disks on 53 the system are eligible. With '-a' specified, $DISKS is ignored. 54 - A non-root user with the full set of basic privileges and the ability 55 to sudo(8) to root without a password to run the test. 56 - Specify any pools you wish to preserve as a space delimited list in 57 the $KEEP variable. The root pool is added automatically. 58 59Once the pre-requisites are satisfied, simply run the zfstest script: 60 61 test_machine$ /opt/zfs-tests/bin/zfstest [-aq] 62 63When the '-q' option is specified, it is passed to run(1) which causes output 64to be written to the console only for tests that do not pass and the results 65summary. 66 67The ZFS Test Suite allows the user to specify a subset of the tests via a 68runfile. The format of the runfile is explained in run(1), and the files that 69zfstest uses are available for reference under /opt/zfs-tests/runfiles. To 70specify a custom runfile, use the -c option: 71 72 test_machine$ /opt/zfs-tests/bin/zfstest [-aq] -c my_tests.run 73 743. Test results 75 76While the ZFS Test Suite is running, one informational line is printed at the 77end of each test, and a results summary is printed at the end of the run. The 78results summary includes the location of the complete logs, which is of the 79form /var/tmp/test_results/<ISO 8601 date>. 80