blob: 96e334319bde39f7eda2d9db2fe0d1818e795433 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
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.
|