Add tests for Name ID functionality
[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         # Ignore IPA API class members as they are dynamically added
12         pylint -d c,r,i,W0613 -r n -f colorized \
13                    --notes= \
14                    --ignored-classes=cherrypy,API \
15                    ./ipsilon
16
17 pep8:
18         # Check style consistency
19         pep8 ipsilon
20
21 # Requires python-lesscpy
22 ui: less/ipsilon.less less/admin.less
23         # Create CSS
24         lesscpy less/ipsilon.less > ui/css/ipsilon.css
25         lesscpy less/admin.less > ui/css/admin.css
26
27 # Requires NodeJS less and clear-css packages
28 # Should be removed when lesscpy starts to work properly
29 ui-node: less/ipsilon.less less/admin.less
30
31         # Create and minify CSS
32         #lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
33         #lessc --clean-css less/admin.less ui/css/admin.css
34
35         #FIXME: temporarily disable clean-css fo deveopment
36         lessc less/ipsilon.less ui/css/ipsilon.css
37         lessc less/admin.less ui/css/admin.css
38
39 clean:
40         rm -fr testdir cscope.out
41         find ./ -name '*.pyc' -exec rm -f {} \;
42
43 cscope:
44         git ls-files | xargs pycscope
45
46 lp-test:
47         pylint -d c,r,i,W0613 -r n -f colorized \
48                    --notes= \
49                    --ignored-classes=cherrypy \
50                    ./tests
51         pep8 tests
52
53 wrappers:
54         #rm -fr wrapdir
55         #mkdir wrapdir
56         #LD_PRELOAD=libsocket_wrapper.so
57         #SOCKET_WRAPPER_DIR=wrapdir
58         #SOCKET_WRAPPER_DEFAULT_IFACE=9
59
60 tests: wrappers
61         PYTHONPATH=./ ./tests/tests.py --test=test1
62         PYTHONPATH=./ ./tests/tests.py --test=testlogout
63         PYTHONPATH=./ ./tests/tests.py --test=testnameid
64         PYTHONPATH=./ ./tests/tests.py --test=testrest
65         PYTHONPATH=./ ./tests/tests.py --test=attrs
66         PYTHONPATH=./ ./tests/tests.py --test=trans
67         PYTHONPATH=./ ./tests/tests.py --test=pgdb
68         PYTHONPATH=./ ./tests/tests.py --test=fconf
69         PYTHONPATH=./ ./tests/tests.py --test=ldap
70
71 test: lp-test unittests tests
72
73 unittests:
74         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
75         PYTHONPATH=./ python ./ipsilon/util/policy.py
76
77 sdist:
78         python setup.py sdist
79
80 rpmroot:
81         rm -rf $(RPMBUILD)
82         mkdir -p $(RPMBUILD)/BUILD
83         mkdir -p $(RPMBUILD)/RPMS
84         mkdir -p $(RPMBUILD)/SOURCES
85         mkdir -p $(RPMBUILD)/SPECS
86         mkdir -p $(RPMBUILD)/SRPMS
87
88 rpmdistdir:
89         mkdir -p dist/rpms
90         mkdir -p dist/srpms
91
92 rpms: rpmroot rpmdistdir sdist
93         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
94         rpmbuild --define "gittag .git`git rev-parse --short HEAD`" --define "builddate .`date +%Y%m%d%H%M`" --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
95         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
96         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
97         rm -rf $(RPMBUILD)
98
99 releaserpms: rpmroot rpmdistdir sdist
100         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
101         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
102         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
103         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
104         rm -rf $(RPMBUILD)