Home | History | Annotate | only in /external/llvm/bindings/python
Up to higher level directory
NameDateSize
llvm/05-Oct-2017
README.txt05-Oct-20171.4K

README.txt

      1 This directory contains Python bindings for LLVM's C library.
      2 
      3 The bindings are currently a work in progress and are far from complete.
      4 Use at your own risk.
      5 
      6 Developer Info
      7 ==============
      8 
      9 The single Python package is "llvm." Modules inside this package roughly
     10 follow the names of the modules/headers defined by LLVM's C API.
     11 
     12 Testing
     13 -------
     14 
     15 All test code is location in llvm/tests. Tests are written as classes
     16 which inherit from llvm.tests.base.TestBase, which is a convenience base
     17 class that provides common functionality.
     18 
     19 Tests can be executed by installing nose:
     20 
     21     pip install nosetests
     22 
     23 Then by running nosetests:
     24 
     25     nosetests
     26 
     27 To see more output:
     28 
     29     nosetests -v
     30 
     31 To step into the Python debugger while running a test, add the following
     32 to your test at the point you wish to enter the debugger:
     33 
     34     import pdb; pdb.set_trace()
     35 
     36 Then run nosetests:
     37 
     38     nosetests -s -v
     39 
     40 You should strive for high code coverage. To see current coverage:
     41 
     42     pip install coverage
     43     nosetests --with-coverage --cover-html
     44 
     45 Then open cover/index.html in your browser of choice to see the code coverage.
     46 
     47 Style Convention
     48 ----------------
     49 
     50 All code should pass PyFlakes. First, install PyFlakes:
     51 
     52     pip install pyflakes
     53 
     54 Then at any time run it to see a report:
     55 
     56     pyflakes .
     57 
     58 Eventually we'll provide a Pylint config file. In the meantime, install
     59 Pylint:
     60 
     61     pip install pylint
     62 
     63 And run:
     64 
     65     pylint llvm
     66 
     67 And try to keep the number of violations to a minimum.
     68