[Erp5-report] r33142 luke - in /erp5/trunk/buildout: Makefile tests/ tests/assertSoftware.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Feb 26 11:12:06 CET 2010
Author: luke
Date: Fri Feb 26 11:12:05 2010
New Revision: 33142
URL: http://svn.erp5.org?rev=33142&view=rev
Log:
- move assertions to python unittest
Added:
erp5/trunk/buildout/tests/
erp5/trunk/buildout/tests/assertSoftware.py
Modified:
erp5/trunk/buildout/Makefile
Modified: erp5/trunk/buildout/Makefile
URL: http://svn.erp5.org/erp5/trunk/buildout/Makefile?rev=33142&r1=33141&r2=33142&view=diff
==============================================================================
--- erp5/trunk/buildout/Makefile [utf8] (original)
+++ erp5/trunk/buildout/Makefile [utf8] Fri Feb 26 11:12:05 2010
@@ -7,36 +7,8 @@
python bootstrap/bootstrap.py
# run make assert to check that all is working
-assert: assert-software
-
-assert-software: assert-python2.4 assert-parts-libs
-
-assert-python2.4: bin/python2.4
- bin/python2.4 -V 2>&1 | grep 'Python 2.4.6'
- bin/python2.4 -c 'import ERP5Diff'
- bin/python2.4 -c 'import MySQLdb'
- bin/python2.4 -c 'import SOAPpy'
- bin/python2.4 -c 'import _ssl'
- bin/python2.4 -c 'import _xmlplus'
- bin/python2.4 -c 'import bz2'
- bin/python2.4 -c 'import elementtree'
- bin/python2.4 -c 'import fpconst'
- bin/python2.4 -c 'import gdbm'
- bin/python2.4 -c 'import itools'
- bin/python2.4 -c 'import ldap'
- bin/python2.4 -c 'import lxml'
- bin/python2.4 -c 'import memcache'
- bin/python2.4 -c 'import numpy'
- bin/python2.4 -c 'import pytz'
- bin/python2.4 -c 'import simplejson'
- bin/python2.4 -c 'import threadframe'
- bin/python2.4 -c 'import xml.parsers.expat'
- bin/python2.4 -c 'import zlib'
-
-assert-parts-libs:
- ldd parts/mysql-tritonn-5.0/libexec/mysqld | grep 'parts/senna/lib/libsenna.so.0'
- ldd develop-eggs/MySQL_python-1.2.3c1-py2.4-linux-x86_64.egg/_mysql.so | grep 'parts/mysql-tritonn-5.0/lib/mysql/libmysqlclient_r.so'
- ldd parts/memcached/bin/memcached | grep 'parts/libevent/lib/libevent'
+assert: bin/python2.4
+ bin/python2.4 tests/assertSoftware.py
debian-appliance:
svn co https://svn.erp5.org/repos/public/spec/debian-erp5-appliance/ debian-erp5-appliance
@@ -46,4 +18,3 @@
rm -rf `find . -name *.pyc`
cd ../../../../
dpkg-deb -b debian-erp5-appliance/ .
-
Added: erp5/trunk/buildout/tests/assertSoftware.py
URL: http://svn.erp5.org/erp5/trunk/buildout/tests/assertSoftware.py?rev=33142&view=auto
==============================================================================
--- erp5/trunk/buildout/tests/assertSoftware.py (added)
+++ erp5/trunk/buildout/tests/assertSoftware.py [utf8] Fri Feb 26 11:12:05 2010
@@ -1,0 +1,135 @@
+import unittest
+import sys, os
+
+def createCleanList(s):
+ return sorted([q.strip() for q in s.split() if len(q.strip()) > 0])
+
+class AssertPythonSoftware(unittest.TestCase):
+ def test_python_version(self):
+ self.assertEqual((2,4), sys.version_info[:2])
+
+ def test_required_libraries(self):
+ required_library_list = createCleanList("""
+ ERP5Diff
+ MySQLdb
+ SOAPpy
+ _ssl
+ _xmlplus
+ bz2
+ elementtree
+ fpconst
+ gdbm
+ itools
+ ldap
+ lxml
+ memcache
+ numpy
+ pytz
+ simplejson
+ threadframe
+ xml.parsers.expat
+ zlib
+ """)
+ failed_library_list = []
+ for lib in required_library_list:
+ try:
+ __import__(lib)
+ except ImportError:
+ failed_library_list.append(lib)
+ self.assertEqual([], failed_library_list,
+ 'Python libraries not found:\n'+'\n\t'.join(failed_library_list))
+
+class AssertLddLibs(unittest.TestCase):
+ def test_tritonn_senna(self):
+ result = os.system("ldd parts/mysql-tritonn-5.0/libexec/mysqld | grep -q "
+ "'parts/senna/lib/libsenna.so.0'")
+ self.assertEqual(result, 0)
+
+ def test_MySQLdb(self):
+ result = os.system("ldd develop-eggs/MySQL_python-1.2.3c1-py2.4-linux-x86"
+ "_64.egg/_mysql.so | grep -q 'parts/mysql-tritonn-5.0/lib/mysql/libmys"
+ "qlclient_r.so'")
+ self.assertEqual(result, 0)
+
+ def test_memcached_libevent(self):
+ result = os.system("ldd parts/memcached/bin/memcached | grep -q 'parts/li"
+ "bevent/lib/libevent'")
+
+class AssertApache(unittest.TestCase):
+ def test_modules(self):
+ required_module_list = createCleanList("""
+ mod_authn_default.so
+ mod_log_config.so
+ mod_proxy_http.so
+ mod_authn_alias.so
+ mod_authz_dbm.so
+ mod_case_filter_in.so
+ mod_imagemap.so
+ mod_setenvif.so
+ mod_include.so
+ mod_charset_lite.so
+ mod_info.so
+ mod_cache.so
+ mod_actions.so
+ mod_proxy_connect.so
+ mod_auth_digest.so
+ mod_unique_id.so
+ mod_mime_magic.so
+ mod_disk_cache.so
+ mod_mime.so
+ mod_usertrack.so
+ mod_asis.so
+ mod_optional_hook_import.so
+ mod_negotiation.so
+ mod_proxy.so
+ mod_authz_default.so
+ mod_ext_filter.so
+ mod_auth_basic.so
+ mod_authz_owner.so
+ mod_authn_anon.so
+ mod_rewrite.so
+ mod_proxy_balancer.so
+ mod_substitute.so
+ mod_filter.so
+ mod_expires.so
+ mod_autoindex.so
+ mod_status.so
+ mod_cgid.so
+ mod_version.so
+ mod_echo.so
+ mod_optional_fn_export.so
+ mod_optional_fn_import.so
+ mod_ident.so
+ mod_cgi.so
+ mod_bucketeer.so
+ mod_optional_hook_export.so
+ mod_vhost_alias.so
+ mod_ssl.so
+ mod_authz_user.so
+ mod_env.so
+ mod_logio.so
+ mod_proxy_ftp.so
+ mod_example.so
+ mod_cern_meta.so
+ mod_authz_groupfile.so
+ mod_dir.so
+ mod_log_forensic.so
+ mod_alias.so
+ mod_deflate.so
+ mod_authn_dbm.so
+ mod_case_filter.so
+ mod_authz_host.so
+ mod_headers.so
+ mod_dumpio.so
+ mod_speling.so
+ mod_authn_file.so
+ """)
+ failed_module_list = []
+ for module in required_module_list:
+ if not os.path.exists('parts/apache/modules/%s' % module):
+ failed_module_list.append(module)
+ self.assertEqual([], failed_module_list,
+ 'Apache modules not found:\n'+'\n\t'.join(failed_module_list))
+
+if __name__ == '__main__':
+ unittest.main()
More information about the Erp5-report
mailing list