mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-27 13:40:43 +00:00
0b3aae906f
This requires a C++ change to EDDisassembler's ctor to function properly (the llvm::InitializeAll* functions aren't being called currently and there is no way to call them from Python). Code is partially tested and works well enough for initial commit. There are probably many small bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152506 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
llvm | ||
README.txt |
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.