README
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 2014 Garrett D'Amore <garrett@damore.org>
14# Copyright (c) 2012 by Delphix. All rights reserved.
15#
16
17Header Test Suite README
18
191. What this Header Test Suite tests
202. Building and installing this Header Test Suite
213. Running this Header Test Suite
224. Test results
235. Package layout
24
25--------------------------------------------------------------------------------
26
271. What this Header Test Suite tests
28
29This Header Test Suite is for testing standards compliance of various
30system header files.
31
322. Building and installing this Header Test Suite
33
34This Test Suite runs under the testrunner framework (which can be installed
35as pkg:/system/test/testrunner). To build both this Header Test Suite and the
36testrunner without running a full nightly:
37
38 build_machine$ bldenv [-d] <your_env_file>
39 build_machine$ cd $SRC/test
40 build_machine$ dmake install
41 build_machine$ cd $SRC/pkg
42 build_machine$ dmake install
43
44Then set the publisher on the test machine to point to your repository and
45install the Utils Header Test Suite.
46
47 test_machine# pkg install pkg:/system/test/headertest
48
49Note, the framework will be installed automatically, as this test suite
50depends on it.
51
52C and C++ compilers are also required on the test system.
53
543. Running this Header Test Suite
55
56The pre-requisites for running the this Header Test Suite are:
57 - GCC or Clang C and C++ compilers installed.
58
59Once the pre-requisites are satisfied, simply run the headertest script:
60
61 test_machine$ /opt/header-tests/bin/headertest
62
63The number of parallel compile jobs defaults to 4. This can be overridden
64by setting the SYMBOL_TEST_JOBS environment variable, or per-invocation
65with the -j option to the symbol_test program.
66
674. Test results
68
69While the Header Test Suite is running, one informational line is printed at
70the end of each test, and a results summary is printed at the end of the run.
71The results summary includes the location of the complete logs, which is of the
72form /var/tmp/test_results/<ISO 8601 date>.
73
745. Package layout
75
76The installed package under /opt/header-tests contains:
77
78 bin/ - test runner script
79 doc/ - this file
80 runfiles/ - testrunner runfile
81
82 cfg/ - compilation environment definitions and test configs
83 c-symbols-env.cfg
84 cxx-symbols-env.cfg
85 c-symbols/ - test config files for C symbol tests
86 cxx-symbols/ - test config files for C++ symbol tests
87
88 tests/
89 common/ - shared test programs
90 c-symbols/ - per-header test scripts and setup
91 cxx-symbols/ - per-header test scripts and setup
92
93You can run all tests via: bin/headertest
94or run individual tests like: tests/c-symbols/math_h
95