9075 Improve ZFS pool import/load process and corrupted pool recovery
[unleashed.git] / usr / src / test / zfs-tests / doc / README
blob7fe70f452681e5243beb49a943555efe1aaa4c71
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.
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.
13 # Copyright (c) 2013 by Delphix. All rights reserved.
16 ZFS Test Suite README
18 1. Building and installing the ZFS Test Suite
19 2. Running the ZFS Test Suite
20 3. Test results
22 --------------------------------------------------------------------------------
24 1. Building and installing the ZFS Test Suite
26 The ZFS Test Suite runs under the testrunner framework (which can be installed
27 as pkg:/system/test/testrunner). To build both the ZFS Test Suite and the
28 testrunner without running a full nightly:
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
36 Then set the publisher on the test machine to point to your repository and
37 install the ZFS Test Suite.
39         test_machine# pkg install pkg:/system/test/zfstest
41 Note, the framework will be installed automatically, as the ZFS Test Suite
42 depends on it.
44 2. Running the ZFS Test Suite
46 The pre-requisites for running the ZFS Test Suite are:
47         - Three scratch disks
48           - Specify the disks you wish to use in the $DISKS variable, as a
49             space delimited list like this: DISKS='c3t1d0 c3t2d0 c3t3d0'
50           - Use the '-a' option to the zfstest script and all unused disks on
51             the system are eligible. With '-a' specified, $DISKS is ignored.
52         - A non-root user with the full set of basic privileges and the ability
53           to sudo(1M) to root without a password to run the test.
54         - Specify any pools you wish to preserve as a space delimited list in
55           the $KEEP variable. The root pool is added automatically.
57 Once the pre-requisites are satisfied, simply run the zfstest script:
59         test_machine$ /opt/zfs-tests/bin/zfstest [-aq]
61 When the '-q' option is specified, it is passed to run(1) which causes output
62 to be written to the console only for tests that do not pass and the results
63 summary.
65 The ZFS Test Suite allows the user to specify a subset of the tests via a
66 runfile. The format of the runfile is explained in run(1), and the files that
67 zfstest uses are available for reference under /opt/zfs-tests/runfiles. To
68 specify a custom runfile, use the -c option:
70         test_machine$ /opt/zfs-tests/bin/zfstest [-aq] -c my_tests.run
72 3. Test results
74 While the ZFS Test Suite is running, one informational line is printed at the
75 end of each test, and a results summary is printed at the end of the run. The
76 results summary includes the location of the complete logs, which is of the
77 form /var/tmp/test_results/<ISO 8601 date>.