forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			208 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			208 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 | |
|           "http://www.w3.org/TR/html4/strict.dtd">
 | |
| <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
 | |
| <html>
 | |
| <head>
 | |
|   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 | |
|   <title>Testing libc++ using LIT</title>
 | |
|   <link type="text/css" rel="stylesheet" href="menu.css">
 | |
|   <link type="text/css" rel="stylesheet" href="content.css">
 | |
|   <style>
 | |
|     .lit-option {
 | |
|       padding-top: 0.5em;
 | |
|       margin-bottom: 0.0em;
 | |
|       font-size: medium;
 | |
|       color: #2d58b7
 | |
|     }
 | |
|     .lit-option-desc {
 | |
|       display: block;
 | |
|       margin-top: 0em;
 | |
|       margin-bottom: 0em;
 | |
|       margin-left: 20px;
 | |
|       margin-right: 20px;
 | |
|     }
 | |
|   </style>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| <div id="menu">
 | |
|   <div>
 | |
|     <a href="http://llvm.org/">LLVM Home</a>
 | |
|   </div>
 | |
| 
 | |
|   <div class="submenu">
 | |
|     <label>libc++ Info</label>
 | |
|     <a href="/index.html">About</a>
 | |
|   </div>
 | |
| 
 | |
|   <div class="submenu">
 | |
|     <label>Quick Links</label>
 | |
|     <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a>
 | |
|     <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a>
 | |
|     <a href="http://llvm.org/bugs/">Bug Reports</a>
 | |
|     <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a>
 | |
|     <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a>
 | |
|   </div>
 | |
| </div>
 | |
| 
 | |
| <div id="content">
 | |
| <!--*********************************************************************-->
 | |
|                      <h1>Testing libc++ using LIT</h1>
 | |
| <!--*********************************************************************-->
 | |
| <p>
 | |
| libc++ uses LIT to configure and run its tests. The primary way to run the
 | |
| libc++ tests is by using <code>make check-libcxx</code>. However since libc++
 | |
| can be used in any number of possible configurations it is important to
 | |
| customize the way LIT builds and runs the tests. This guide provides
 | |
| information on how to use LIT directly to test libc++.
 | |
| </p>
 | |
| <p>
 | |
| Documentation for LIT can be found
 | |
| <a href="http://llvm.org/docs/CommandGuide/lit.html">here</a>.
 | |
| </p>
 | |
| 
 | |
| <!--*********************************************************************-->
 | |
|                         <h2>Getting Started</h2>
 | |
| <!--*********************************************************************-->
 | |
| <p>
 | |
| After building libc++ use the following commands before you start using LIT to
 | |
| test.
 | |
| </p>
 | |
| <ul>
 | |
|   <li><code>alias lit='python path/to/llvm/utils/lit/lit.py'</code></li>
 | |
|   <li><code>export LIBCXX_SITE_CONFIG=path/to/build-libcxx/test/lit.site.cfg</code></li>
 | |
| </ul>
 | |
| <p>
 | |
| You can now run the libc++ tests by running:
 | |
| </p>
 | |
| <ul>
 | |
|   <li><code>cd path/to/libcxx</code></li>
 | |
|   <li><code>lit -sv ./test</code></li>
 | |
| </ul>
 | |
| <p>
 | |
| To only run a subsection of the tests use:
 | |
| <ul>
 | |
|   <li><code>lit -sv test/std/numerics # Run only the numeric tests</code></li>
 | |
| </ul>
 | |
| 
 | |
| <!--*********************************************************************-->
 | |
|                      <h2>Customization Options</h2>
 | |
| <!--*********************************************************************-->
 | |
| <p>
 | |
| libc++'s testsuite provides multiple options to configure the way the tests
 | |
| are build and run. To use these options you pass them on the LIT command line
 | |
| as <code>--param NAME</code> or <code>--param NAME=VALUE</code>. Some options
 | |
| have default values specified during CMake's configuration. Passing the option
 | |
| on the command line will override the default.
 | |
| </p>
 | |
| 
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">libcxx_site_config=<path/to/lit.site.cfg></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Specify the site configuration to use when running the tests. This option
 | |
| overrides the enviroment variable <code>LIBCXX_SITE_CONFIG</code>
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">libcxx_headers=<path/to/headers></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Specify the libc++ headers that are tested. By default the headers in the source
 | |
| tree are used.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">libcxx_library=<path/to/libc++.so></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Specify the libc++ library that is tested. By default the library in the build
 | |
| directory is used. This option cannot be used when <code>use_system_lib</code>
 | |
| is provided.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">use_system_lib=<bool></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| <b>Default: </b><code>False</code></br>
 | |
| Enable or disable testing against the installed version of libc++ library.
 | |
| Note: This does not use the installed headers.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">use_lit_shell=<bool></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Enable or disable the use of LIT's internal shell in ShTests. If the enviroment
 | |
| variable <code>LIT_USE_INTERNAL_SHELL</code> is present then that is used as the
 | |
| default value. Otherwise the default value is <code>True</code> on Windows and
 | |
| <code>False</code> on every other platform.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">no_default_flags=<bool></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| <b>Default: </b><code>False</code></br>
 | |
| Disable all default compile and link flags from being added. When this option is
 | |
| used only flags specified using the <code>compile_flags</code> and
 | |
| <code>link_flags</code> will be used.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">compile_flags="<list-of-args>"</h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Specify additional compile flags as a space delimited string.
 | |
| Note: This options should not be used to change the standard version used.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">link_flags="<list-of-args>"</h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Specify additional link  flags as a space delimited string.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">std=<standard version></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| <b>Values: </b><code>c++98, c++03, c++11, c++14, c++1z</code></br>
 | |
| Change the standard version used when building the tests.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">debug_level=<level></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| <b>Values: </b><code>0, 1</code></br>
 | |
| Enable the use of debug mode. Level 0 enables assertions and level 1 enables
 | |
| assertions and debugging of iterator misuse.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">use_sanitizer=<sanitizer name></h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| <b>Values: </b><code>Memory, MemoryWithOrigins, Address, Undefined</code></br>
 | |
| Run the tests using the given sanitizer. If <code>LLVM_USE_SANITIZER</code>
 | |
| was given when building libc++ then that sanitizer will be used by default.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| <h3 class="lit-option">color_diagnostics</h3>
 | |
| <blockquote class="lit-option-desc">
 | |
| Enable the use of colorized compile diagnostics. If the
 | |
| <code>color_diagnostics</code> option is specified or the enviroment variable
 | |
| <code>LIBCXX_COLOR_DIAGNOSTICS</code> is present then color diagnostics will be
 | |
| enabled.
 | |
| </blockquote>
 | |
| </p>
 | |
| 
 | |
| </div>
 | |
| </body>
 | |
| </html>
 |