64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| Summary
 | |
| =======
 | |
| This directory contains integration tests for debug information in libbcc.
 | |
| 
 | |
| The tests come in two flavours: host and target. Host tests are run on the
 | |
| build machine (currently, only Linux has been tested extensively) and target
 | |
| tests run on a live Android system (emulator or device.)
 | |
| 
 | |
| Host tests use clang to build bytecode (bc) files, which are then executed
 | |
| by the libbcc driver utility (bcc) on the host through GDB. The debugger
 | |
| output is verified against expected output by the llvm tool FileCheck.
 | |
| Both the debugger commands and the expected output are embedded in the
 | |
| original sources as comments of the form "DEBUGGER: " and "CHECK: ".
 | |
| 
 | |
| Target tests are similar, but instead of using clang, they use ant and
 | |
| llvm-rs-cc from the Android SDK to build a test binary package (apk)
 | |
| that is uploaded to the device (or emulator) and run with GDB attached.
 | |
| The output is verified in the same way as host side tests, and the format
 | |
| of the tests is the same.
 | |
| 
 | |
| *** If you are running target-side tests, you must disable parallel
 | |
| *** execution with the "-j1" flag to llvm-lit
 | |
| 
 | |
| 
 | |
| Prerequisites
 | |
| =============
 | |
| To run the tests, you must have built the android source tree and have
 | |
| the build environment variables set (i.e. ANDROID_BUILD_TOP)
 | |
| 
 | |
| You need the following tools (not built by the android build system) on
 | |
| your PATH:
 | |
| - gdb     (Tested with gdb 7.3 from Ubuntu 11.10)
 | |
| 
 | |
| In addition, you need a build of gdbserver available in the prebuilt directory.
 | |
| 
 | |
| Customizing
 | |
| ===========
 | |
| By default, llvm-lit will use the clang and bcc driver built in the android
 | |
| output directory. If you wish to use different versions of these tools,
 | |
| set the following environment variables:
 | |
| CLANG      - path to clang
 | |
| BCC_DRIVER - path to bcc
 | |
| FILECHECK  - path to FileCheck
 | |
| GDB        - path to GDB
 | |
| 
 | |
| Further customization is possible by modifying the lit.cfg file.
 | |
| 
 | |
| 
 | |
| Running
 | |
| =======
 | |
| To execute all the tests from this directory, use the llvm-lit tool:
 | |
| $ ./llvm-lit host-tests
 | |
| $ ./llvm-lit target-tests -j 1
 | |
| 
 | |
| The tool can be run from any directory.
 | |
| -j controls the number of tests to run in parallel
 | |
| -v enables additional verbosity (useful when examining unexpected failures)
 | |
| 
 | |
| Adding new tests
 | |
| ================
 | |
| To add new tests, just add a .c, .cpp, or .rs file to a test directory with
 | |
| similar RUN/DEBUGGER/CHECK directives in comments as the existing tests.
 |