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