X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=Makefile;h=c02b6aee073a01d2af9e67f0ae89906cbee0fee7;hp=7d81f007ead855bcf66f8e6a9ba43301f5108d94;hb=1bcc0d697dd37a9268641f0cbaa7e9e781552233;hpb=fe98579005973824000edb91e55975f2e7bf39e1 diff --git a/Makefile b/Makefile index 7d81f00..c02b6ae 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,139 @@ -all: lint +RPMBUILD = $(PWD)/dist/rpmbuild + +all: testdeps lint pep8 test + echo "All tests passed" + +testdeps: + # Determine if test deps are installed + # First, some binaries + which lessc + which pylint + which pep8 + which httpd + which postgres + which openssl + which slapd + # Now, python libraries + python -c 'import openid' + python -c 'import openid_teams' + python -c 'import openid_cla' + python -c 'import cherrypy' + python -c 'import M2Crypto' + python -c 'import lasso' + python -c 'import sqlalchemy' + python -c 'import ldap' + python -c 'import pam' + python -c 'import fedora' + python -c 'import ipapython' + python -c 'import jinja2' + python -c 'import psycopg2' + # And now everything else + ls /usr/share/doc/sssd + ls /usr/lib64/libsss_simpleifp.so.0 + ls /usr/lib64/httpd/modules/mod_wsgi.so + ls /usr/libexec/mod_auth_mellon lint: # Analyze code # don't show recommendations, info, comments, report # W0613 - unused argument # Ignore cherrypy class members as they are dynamically added + # Ignore IPA API class members as they are dynamically added pylint -d c,r,i,W0613 -r n -f colorized \ --notes= \ - --ignored-classes=cherrypy \ + --ignored-classes=cherrypy,API \ + --disable=star-args \ ./ipsilon + +pep8: + # Check style consistency + pep8 ipsilon + +# Requires python-lesscpy +ui: less/ipsilon.less less/admin.less + # Create CSS + lesscpy less/ipsilon.less > ui/css/ipsilon.css + lesscpy less/admin.less > ui/css/admin.css + +# Requires NodeJS less and clear-css packages +# Should be removed when lesscpy starts to work properly +ui-node: less/ipsilon.less less/admin.less + + # Create and minify CSS + #lessc --clean-css less/ipsilon.less ui/css/ipsilon.css + #lessc --clean-css less/admin.less ui/css/admin.css + + #FIXME: temporarily disable clean-css fo deveopment + lessc less/ipsilon.less ui/css/ipsilon.css + lessc less/admin.less ui/css/admin.css + +clean: + rm -fr testdir cscope.out + find ./ -name '*.pyc' -exec rm -f {} \; + +cscope: + git ls-files | xargs pycscope + +lp-test: + pylint -d c,r,i,W0613 -r n -f colorized \ + --notes= \ + --ignored-classes=cherrypy \ + --disable=star-args \ + ./tests + pep8 tests + +wrappers: + #rm -fr wrapdir + #mkdir wrapdir + #LD_PRELOAD=libsocket_wrapper.so + #SOCKET_WRAPPER_DIR=wrapdir + #SOCKET_WRAPPER_DEFAULT_IFACE=9 + +tests: wrappers + PYTHONPATH=./ ./tests/tests.py --test=test1 + PYTHONPATH=./ ./tests/tests.py --test=testlogout + PYTHONPATH=./ ./tests/tests.py --test=testnameid + PYTHONPATH=./ ./tests/tests.py --test=testrest + PYTHONPATH=./ ./tests/tests.py --test=testmapping + PYTHONPATH=./ ./tests/tests.py --test=testgssapi + PYTHONPATH=./ ./tests/tests.py --test=attrs + PYTHONPATH=./ ./tests/tests.py --test=trans + PYTHONPATH=./ ./tests/tests.py --test=pgdb + PYTHONPATH=./ ./tests/tests.py --test=fconf + PYTHONPATH=./ ./tests/tests.py --test=ldap + PYTHONPATH=./ ./tests/tests.py --test=openid + +test: lp-test unittests tests + +unittests: + PYTHONPATH=./ ./ipsilon/tools/saml2metadata.py + PYTHONPATH=./ python ./ipsilon/util/policy.py + +sdist: + python setup.py sdist + +rpmroot: + rm -rf $(RPMBUILD) + mkdir -p $(RPMBUILD)/BUILD + mkdir -p $(RPMBUILD)/RPMS + mkdir -p $(RPMBUILD)/SOURCES + mkdir -p $(RPMBUILD)/SPECS + mkdir -p $(RPMBUILD)/SRPMS + +rpmdistdir: + mkdir -p dist/rpms + mkdir -p dist/srpms + +rpms: rpmroot rpmdistdir sdist + cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/ + 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 + mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/ + mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/ + rm -rf $(RPMBUILD) + +releaserpms: rpmroot rpmdistdir sdist + cp dist/ipsilon*.tar.gz $(RPMBUILD)/SOURCES/ + rpmbuild --define "_topdir $(RPMBUILD)" -ba contrib/fedora/ipsilon.spec + mv $(RPMBUILD)/RPMS/*/ipsilon-*.rpm dist/rpms/ + mv $(RPMBUILD)/SRPMS/ipsilon-*.src.rpm dist/srpms/ + rm -rf $(RPMBUILD)