43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| Summary
 | |
| =======
 | |
| This directory contains tests for Slang that use the 'llvm-lit' testing tool.
 | |
| Each testcase is a separate .rs file, and comments inside the testcase are
 | |
| used to verify certain strings are present in the output bitcode files.
 | |
| 
 | |
| Prerequisites
 | |
| =============
 | |
| To run the tests, you must have the android build environment variables
 | |
| set (i.e. source build/envsetup.sh; lunch). You must also have on your path:
 | |
| - Android version of llvm-lit (currently in libbcc/tests/debuginfo)
 | |
| - FileCheck (utility from llvm)
 | |
| - llvm-rs-cc (slang frontend compiler)
 | |
| 
 | |
| If you are unable to run the tests, try using the "--debug" option to llvm-lit.
 | |
| 
 | |
| When debugging failures, the "-v" option will print to stdout the details of
 | |
| the failure. Note that tests marked as "Expected Fail" (XFAIL) will not print
 | |
| failure information, even with -v.
 | |
| 
 | |
| Customizing
 | |
| ===========
 | |
| The tools lit and FileCheck are fairly flexible, and could be used to validate
 | |
| more than just emitted bitcode. For example, with some changes to the testcases
 | |
| and the helper shell-script rs-filecheck-wrapper.sh, it should be possible to
 | |
| write tests that verify the emitted Java code.
 | |
| 
 | |
| Running
 | |
| =======
 | |
| To execute all the tests from this directory, use the Android llvm-lit tool
 | |
| from libbcc:
 | |
| $ ../../libbcc/tests/debuginfo/llvm-lit .
 | |
| 
 | |
| The tool can be run from any directory.
 | |
| -j controls the number of parallel test executions
 | |
| -v enables additional verbosity (useful when examining unexpected failures)
 | |
| 
 | |
| Adding new tests
 | |
| ================
 | |
| To add new tests, just add .rs files to a test directory with similar
 | |
| RUN/CHECK directives in comments as the existing tests.
 |