forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| This directory contains Python bindings for LLVM's C library.
 | |
| 
 | |
| The bindings are currently a work in progress and are far from complete.
 | |
| Use at your own risk.
 | |
| 
 | |
| Developer Info
 | |
| ==============
 | |
| 
 | |
| The single Python package is "llvm." Modules inside this package roughly
 | |
| follow the names of the modules/headers defined by LLVM's C API.
 | |
| 
 | |
| Testing
 | |
| -------
 | |
| 
 | |
| All test code is location in llvm/tests. Tests are written as classes
 | |
| which inherit from llvm.tests.base.TestBase, which is a convenience base
 | |
| class that provides common functionality.
 | |
| 
 | |
| Tests can be executed by installing nose:
 | |
| 
 | |
|     pip install nosetests
 | |
| 
 | |
| Then by running nosetests:
 | |
| 
 | |
|     nosetests
 | |
| 
 | |
| To see more output:
 | |
| 
 | |
|     nosetests -v
 | |
| 
 | |
| To step into the Python debugger while running a test, add the following
 | |
| to your test at the point you wish to enter the debugger:
 | |
| 
 | |
|     import pdb; pdb.set_trace()
 | |
| 
 | |
| Then run nosetests:
 | |
| 
 | |
|     nosetests -s -v
 | |
| 
 | |
| You should strive for high code coverage. To see current coverage:
 | |
| 
 | |
|     pip install coverage
 | |
|     nosetests --with-coverage --cover-html
 | |
| 
 | |
| Then open cover/index.html in your browser of choice to see the code coverage.
 | |
| 
 | |
| Style Convention
 | |
| ----------------
 | |
| 
 | |
| All code should pass PyFlakes. First, install PyFlakes:
 | |
| 
 | |
|     pip install pyflakes
 | |
| 
 | |
| Then at any time run it to see a report:
 | |
| 
 | |
|     pyflakes .
 | |
| 
 | |
| Eventually we'll provide a Pylint config file. In the meantime, install
 | |
| Pylint:
 | |
| 
 | |
|     pip install pylint
 | |
| 
 | |
| And run:
 | |
| 
 | |
|     pylint llvm
 | |
| 
 | |
| And try to keep the number of violations to a minimum.
 |