Make test results more clear
[cascardo/ipsilon.git] / Makefile
1 RPMBUILD = $(PWD)/dist/rpmbuild
2
3 all: lint pep8 test
4         echo "All tests passed"
5
6 lint:
7         # Analyze code
8         # don't show recommendations, info, comments, report
9         # W0613 - unused argument
10         # Ignore cherrypy class members as they are dynamically added
11         pylint -d c,r,i,W0613 -r n -f colorized \
12                    --notes= \
13                    --ignored-classes=cherrypy \
14                    ./ipsilon
15
16 pep8:
17         # Check style consistency
18         pep8 ipsilon
19
20 # Requires python-lesscpy
21 ui: less/ipsilon.less less/admin.less
22         # Create CSS
23         lesscpy less/ipsilon.less > ui/css/ipsilon.css
24         lesscpy less/admin.less > ui/css/admin.css
25
26 # Requires NodeJS less and clear-css packages
27 # Should be removed when lesscpy starts to work properly
28 ui-node: less/ipsilon.less less/admin.less
29
30         # Create and minify CSS
31         #lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
32         #lessc --clean-css less/admin.less ui/css/admin.css
33
34         #FIXME: temporarily disable clean-css fo deveopment
35         lessc less/ipsilon.less ui/css/ipsilon.css
36         lessc less/admin.less ui/css/admin.css
37
38 clean:
39         rm -fr testdir cscope.out
40         find ./ -name '*.pyc' -exec rm -f {} \;
41
42 cscope:
43         git ls-files | xargs pycscope
44
45 lp-test:
46         pylint -d c,r,i,W0613 -r n -f colorized \
47                    --notes= \
48                    --ignored-classes=cherrypy \
49                    ./tests
50         pep8 tests
51
52 wrappers:
53         #rm -fr wrapdir
54         #mkdir wrapdir
55         #LD_PRELOAD=libsocket_wrapper.so
56         #SOCKET_WRAPPER_DIR=wrapdir
57         #SOCKET_WRAPPER_DEFAULT_IFACE=9
58
59 tests: wrappers
60         PYTHONPATH=./ ./tests/tests.py --test=test1
61         PYTHONPATH=./ ./tests/tests.py --test=attrs
62         PYTHONPATH=./ ./tests/tests.py --test=trans
63         PYTHONPATH=./ ./tests/tests.py --test=pgdb
64         PYTHONPATH=./ ./tests/tests.py --test=fconf
65
66 test: lp-test unittests tests
67
68 unittests:
69         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
70
71 sdist:
72         python setup.py sdist
73
74 rpmroot:
75         rm -rf $(RPMBUILD)
76         mkdir -p $(RPMBUILD)/BUILD
77         mkdir -p $(RPMBUILD)/RPMS
78         mkdir -p $(RPMBUILD)/SOURCES
79         mkdir -p $(RPMBUILD)/SPECS
80         mkdir -p $(RPMBUILD)/SRPMS
81
82 rpmdistdir:
83         mkdir -p dist/rpms
84         mkdir -p dist/srpms
85
86 rpms: rpmroot rpmdistdir sdist
87         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
88         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
89         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
90         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
91         rm -rf $(RPMBUILD)
92
93 rpms: sdist