Make the authtest login plugin provide more info
[cascardo/ipsilon.git] / Makefile
1 RPMBUILD = $(PWD)/dist/rpmbuild
2
3 all: testdeps lint pep8 test
4         echo "All tests passed"
5
6 testdeps:
7         # Determine if test deps are installed
8         # First, some binaries
9         which lessc
10         which pylint
11         which pep8
12         which httpd
13         which postgres
14         which openssl
15         which slapd
16         # Now, python libraries
17         python -c 'import openid'
18         python -c 'import openid_teams'
19         python -c 'import openid_cla'
20         python -c 'import cherrypy'
21         python -c 'import M2Crypto'
22         python -c 'import lasso'
23         python -c 'import sqlalchemy'
24         python -c 'import ldap'
25         python -c 'import pam'
26         python -c 'import fedora'
27         python -c 'import ipapython'
28         python -c 'import jinja2'
29         python -c 'import psycopg2'
30         # And now everything else
31         ls /usr/share/doc/sssd
32         ls /usr/lib64/libsss_simpleifp.so.0
33         ls /usr/lib64/httpd/modules/mod_wsgi.so
34         ls /usr/libexec/mod_auth_mellon
35
36 lint:
37         # Analyze code
38         # don't show recommendations, info, comments, report
39         # W0613 - unused argument
40         # Ignore cherrypy class members as they are dynamically added
41         # Ignore IPA API class members as they are dynamically added
42         pylint -d c,r,i,W0613 -r n -f colorized \
43                    --notes= \
44                    --ignored-classes=cherrypy,API \
45                    ./ipsilon
46
47 pep8:
48         # Check style consistency
49         pep8 ipsilon
50
51 # Requires python-lesscpy
52 ui: less/ipsilon.less less/admin.less
53         # Create CSS
54         lesscpy less/ipsilon.less > ui/css/ipsilon.css
55         lesscpy less/admin.less > ui/css/admin.css
56
57 # Requires NodeJS less and clear-css packages
58 # Should be removed when lesscpy starts to work properly
59 ui-node: less/ipsilon.less less/admin.less
60
61         # Create and minify CSS
62         #lessc --clean-css less/ipsilon.less ui/css/ipsilon.css
63         #lessc --clean-css less/admin.less ui/css/admin.css
64
65         #FIXME: temporarily disable clean-css fo deveopment
66         lessc less/ipsilon.less ui/css/ipsilon.css
67         lessc less/admin.less ui/css/admin.css
68
69 clean:
70         rm -fr testdir cscope.out
71         find ./ -name '*.pyc' -exec rm -f {} \;
72
73 cscope:
74         git ls-files | xargs pycscope
75
76 lp-test:
77         pylint -d c,r,i,W0613 -r n -f colorized \
78                    --notes= \
79                    --ignored-classes=cherrypy \
80                    ./tests
81         pep8 tests
82
83 wrappers:
84         #rm -fr wrapdir
85         #mkdir wrapdir
86         #LD_PRELOAD=libsocket_wrapper.so
87         #SOCKET_WRAPPER_DIR=wrapdir
88         #SOCKET_WRAPPER_DEFAULT_IFACE=9
89
90 tests: wrappers
91         PYTHONPATH=./ ./tests/tests.py --test=test1
92         PYTHONPATH=./ ./tests/tests.py --test=testlogout
93         PYTHONPATH=./ ./tests/tests.py --test=testnameid
94         PYTHONPATH=./ ./tests/tests.py --test=testrest
95         PYTHONPATH=./ ./tests/tests.py --test=attrs
96         PYTHONPATH=./ ./tests/tests.py --test=trans
97         PYTHONPATH=./ ./tests/tests.py --test=pgdb
98         PYTHONPATH=./ ./tests/tests.py --test=fconf
99         PYTHONPATH=./ ./tests/tests.py --test=ldap
100
101 test: lp-test unittests tests
102
103 unittests:
104         PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py
105         PYTHONPATH=./ python ./ipsilon/util/policy.py
106
107 sdist:
108         python setup.py sdist
109
110 rpmroot:
111         rm -rf $(RPMBUILD)
112         mkdir -p $(RPMBUILD)/BUILD
113         mkdir -p $(RPMBUILD)/RPMS
114         mkdir -p $(RPMBUILD)/SOURCES
115         mkdir -p $(RPMBUILD)/SPECS
116         mkdir -p $(RPMBUILD)/SRPMS
117
118 rpmdistdir:
119         mkdir -p dist/rpms
120         mkdir -p dist/srpms
121
122 rpms: rpmroot rpmdistdir sdist
123         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
124         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
125         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
126         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
127         rm -rf $(RPMBUILD)
128
129 releaserpms: rpmroot rpmdistdir sdist
130         cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/
131         rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec
132         mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/
133         mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/
134         rm -rf $(RPMBUILD)