[Erp5-report] r40121 luke - /erp5/trunk/buildout/tests/assertSoftware.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Nov 9 16:55:11 CET 2010


Author: luke
Date: Tue Nov  9 16:55:11 2010
New Revision: 40121

URL: http://svn.erp5.org?rev=40121&view=rev
Log:
 - start checking mysql 5.1
 - raise assertion error in case of issues with readelf

Modified:
    erp5/trunk/buildout/tests/assertSoftware.py

Modified: erp5/trunk/buildout/tests/assertSoftware.py
URL: http://svn.erp5.org/erp5/trunk/buildout/tests/assertSoftware.py?rev=40121&r1=40120&r2=40121&view=diff
==============================================================================
--- erp5/trunk/buildout/tests/assertSoftware.py [utf8] (original)
+++ erp5/trunk/buildout/tests/assertSoftware.py [utf8] Tue Nov  9 16:55:11 2010
@@ -39,7 +39,7 @@ def readElfAsDict(f):
       stderr=subprocess.STDOUT)
   result = popen.communicate()[0]
   if popen.returncode != 0:
-    return False
+    raise AssertionError('Issue during check:\n%s' % result)
   library_list = []
   for l in result.split('\n'):
     if '(NEEDED)' in l:
@@ -184,6 +184,49 @@ class AssertMysql50Tritonn(unittest.Test
     self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
     self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
 
+class AssertMysql51(unittest.TestCase):
+  def test_ld_mysqld(self):
+    elf_dict = readElfAsDict('parts/mysql-5.1/libexec/mysqld')
+    self.assertEqual(sorted(['libc', 'libcrypt', 'libdl', 'libgcc_s', 'libm',
+      'libnsl', 'libpthread', 'libstdc++']), elf_dict['library_list'])
+    soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
+    expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
+        software in ['ncurses', 'zlib', 'readline']]
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
+
+  def test_ld_mysqlmanager(self):
+    elf_dict = readElfAsDict('parts/mysql-5.1/libexec/mysqlmanager')
+    self.assertEqual(sorted(['libc', 'libcrypt', 'libgcc_s', 'libm', 'libnsl',
+      'libpthread', 'libstdc++']), elf_dict['library_list'])
+    soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
+    expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
+        software in ['ncurses', 'zlib', 'readline']]
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
+
+  def test_ld_libmysqlclient_r(self):
+    elf_dict = readElfAsDict('parts/mysql-5.1/lib/mysql/libmysqlclient_r.so')
+    self.assertEqual(sorted(['libc', 'libcrypt', 'libm', 'libnsl',
+      'libpthread', 'libz']),
+      elf_dict['library_list'])
+    soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
+    expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
+        software in ['ncurses', 'zlib', 'readline', 'openssl']]
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
+
+  def test_ld_libmysqlclient(self):
+    elf_dict = readElfAsDict('parts/mysql-5.1/lib/mysql/libmysqlclient.so')
+    self.assertEqual(sorted(['libc', 'libcrypt', 'libcrypto', 'libm', 'libnsl',
+      'libssl', 'libz']),
+      elf_dict['library_list'])
+    soft_dir = os.path.join(os.path.abspath(os.curdir), 'parts')
+    expected_rpath_list = [os.path.join(soft_dir, software, 'lib') for
+        software in ['ncurses', 'zlib', 'readline', 'openssl']]
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['rpath_list'])
+    self.assertEqual(sorted(expected_rpath_list), elf_dict['runpath_list'])
+
 class AssertMemcached(unittest.TestCase):
   """Tests for built memcached"""
 




More information about the Erp5-report mailing list