示例#1
0
 def testCompare(self):
     """
     Tests that modules are compared by index first and then by
     module name if no index is set.
     Note: the module's index is set on loading the file
     modules/hardcore/opera/modules.txt. That defines the
     initialization order of the modules.
     """
     # first: compare by name
     module1 = opera_module.Module(self.__source_root,
                                   self.__source_root,
                                   type='foo',
                                   name='bar')
     module2 = opera_module.Module(self.__source_root,
                                   self.__source_root,
                                   type='aaa',
                                   name='foo')
     self.assertTrue(module1 == module1)
     self.assertFalse(module1 == module2)
     self.assertFalse(module1 < module1)
     self.assertTrue(module1 <= module2)
     self.assertTrue(module1 < module2)
     # compare by index: a module with index set is lower than a
     # module without index
     module2.setIndex(17)
     self.assertTrue(module1 >= module2)
     self.assertTrue(module1 > module2)
     # compare by index: two modules with index set are compared by
     # the index value
     module1.setIndex(562)
     self.assertTrue(module1 >= module2)
     self.assertTrue(module1 > module2)
示例#2
0
 def testBasic(self):
     """
     Tests that some basic methods of an opera_module.Module
     instance return the expected values.
     """
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='bar',
                                  version='baz_1_0')
     self.assertEqual(module.type(), 'foo')
     self.assertEqual(module.name(), 'bar')
     self.assertEqual(module.version(), 'baz_1_0')
     self.assertEqual(module.relativePath(), os.path.join('foo', 'bar'))
     self.assertEqual(module.fullPath(),
                      os.path.join(self.__source_root, 'foo', 'bar'))
     self.assertEqual(module.getModuleFilePath(), 'foo/bar/bar_module.h')
     self.assertEqual(module.getModuleClassName(), 'BarModule')
     self.assertEqual(
         module.getTweaksFile(),
         os.path.join(self.__source_root, 'foo', 'bar', 'module.tweaks'))
     self.assertEqual(
         module.getAPIExportFile(),
         os.path.join(self.__source_root, 'foo', 'bar', 'module.export'))
     self.assertEqual(
         module.getAPIImportFile(),
         os.path.join(self.__source_root, 'foo', 'bar', 'module.import'))
     self.assertEqual(
         module.getActionsFile(),
         os.path.join(self.__source_root, 'foo', 'bar', 'module.actions'))
     self.assertEqual(
         module.getSourcesFile(),
         os.path.join(self.__source_root, 'foo', 'bar', 'module.sources'))
示例#3
0
 def testNoModuleSources(self):
     module = opera_module.Module(self.__tmpdir,
                                  self.__tmpdir,
                                  type='test',
                                  name='foo')
     self.assertFalse(module.hasModuleFile())
     self.assertFalse(module.hasSourcesFile())
     self.assertRaises(IOError, module.getModuleSources)
示例#4
0
 def testIdName(self):
     """
     Tests that opera_module.Module.id_name() returns the expected
     name for several different module names.
     """
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='bar')
     self.assertEqual(module.id_name(), 'bar')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='BAR')
     self.assertEqual(module.id_name(), 'BAR')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='bar/baz-1.0')
     self.assertEqual(module.id_name(), 'bar_baz_1_0')
示例#5
0
 def testLoadEmptyFile(self):
     """
     Write an empty module.sources file and test that loading it
     does not create any file entries.
     """
     self.writeModuleSources("")
     module = opera_module.Module(self.__tmpdir,
                                  self.__tmpdir,
                                  type='test',
                                  name='foo')
     self.assertTrue(module.hasSourcesFile())
     self.assertTrue(module.getModuleSources())
     self.assertEqual(module.files(), [])
示例#6
0
 def testLoadSimpleFile(self):
     """
     Write a simple module.sources file and test loading it.
     """
     output = StringIO.StringIO()
     print >> output, "src/foo.cpp"
     print >> output, "src/bar.cpp"
     self.writeModuleSources(output.getvalue())
     module = opera_module.Module(self.__tmpdir,
                                  self.__tmpdir,
                                  type='test',
                                  name='foo')
     self.assertTrue(module.hasSourcesFile())
     self.assertTrue(module.getModuleSources())
     self.assertEqual(module.files(), ['src/foo.cpp', 'src/bar.cpp'])
示例#7
0
 def testModuleClassName(self):
     """
     Tests that opera_module.Module.getModuleClassName() returns
     the expected class name for several different module names.
     """
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='bar')
     self.assertEqual(module.getModuleClassName(), 'BarModule')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='BAR',
                                  version='baz_1_1')
     self.assertEqual(module.getModuleClassName(), 'BarModule')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='bar/baz-1.0',
                                  version='baz_1_0')
     self.assertEqual(module.getModuleClassName(), 'BarBaz10Module')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='foo_bar')
     self.assertEqual(module.getModuleClassName(), 'FooBarModule')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='foo_bar_baz')
     self.assertEqual(module.getModuleClassName(), 'FooBarBazModule')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='ecmascript')
     self.assertEqual(module.getModuleClassName(), 'EcmaScriptModule')
     module = opera_module.Module(self.__source_root,
                                  self.__source_root,
                                  type='foo',
                                  name='foo_1_2_3___bar___7baz')
     self.assertEqual(module.getModuleClassName(), 'Foo123Bar7bazModule')