def test_other_formats(self): """ test various mix formats """ self.assertLess(Version("v1.2.3"), Version("v2.3.4")) self.assertLess(Version("1"), Version("1.1")) self.assertLess(Version("1.2"), Version("1.2.1")) self.assertLess(Version("v01.9.0"), Version("v1.90.0")) self.assertGreater(Version("vv1.9.0"), Version("v01.9.0"))
def test_nodigits(self): """ test LooseVersion issue when one version does not have any digits """ self.assertLess(Version("any"), Version("nodigits")) self.assertLess(Version("any"), Version("nodigits")) self.assertLess(Version("1.0.0"), Version("nodigits")) self.assertGreater(Version("nodigits"), Version("1.0.0"))
def test_date_format(self): """ date version format """ self.assertLess(Version("16.04"), Version("18.04")) self.assertLess(Version("16.04"), Version("18.04")) self.assertGreater(Version("16.10"), Version("16.9")) self.assertLess(Version("01.10"), Version("10.9"))
def test_xyz_format(self): """ x.y.z version format """ self.assertLess(Version("1.0.0"), Version("2.0.0")) self.assertGreater(Version("2.0.0"), Version("1.0.0")) self.assertLess(Version("1.2.3"), Version("5.1.0")) self.assertEqual(Version("1.2.3"), Version("1.2.3"))
def test_no_digits(self): """ ensure there are no exception inherited from LooseVersion """ self.assertLess(Version("a"), Version("b")) self.assertEqual(Version("any"), Version("october")) self.assertGreater(Version("september"), Version("october"))
def test_simple(self): """ smoke test """ self.assertLess(Version("1"), Version("2")) self.assertEqual(Version("1"), Version("1")) self.assertGreater(Version("2"), Version("1"))
def test_package_simple(self): """ smoke test """ specfile = os.path.dirname(os.path.abspath(__file__)) + '/specfiles' + '/simple.yaml' test_pkg = SrcPackage(specfile, 'dummy_tag', 'empty_file') self.assertEqual(test_pkg.name, 'simple') self.assertEqual(test_pkg.version, Version('1.0.0')) self.assertEqual(test_pkg.maintainer, '*****@*****.**') self.assertEqual(test_pkg.url, 'ssh://[email protected]:7999/~mmpack.test/simple.git') self.assertRegexpMatches(test_pkg.description, r'This is the simplest mmpack specfile possible.*')
def test_package_full(self): """ the full spec parsing """ specfile = os.path.dirname(os.path.abspath(__file__)) + '/specfiles' + '/full.yaml' test_pkg = SrcPackage(specfile, 'dummy_tag', 'empty_file') # test the general section values self.assertEqual(test_pkg.name, 'full') self.assertEqual(test_pkg.version, Version('1.0.0')) self.assertEqual(test_pkg.maintainer, '*****@*****.**') self.assertEqual(test_pkg.url, 'ssh://[email protected]:7999/~mmpack.test/full.git') self.assertEqual(test_pkg.description, "This is the fullest mmpack specfile possible.\n") self.assertEqual(test_pkg.src_hash, 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855') self.assertEqual(test_pkg.build_options, '-D_WITH_DUMMY_DEFINE=1') self.assertEqual(len(test_pkg.build_depends), 2) ref_build_depends = ['libmyotherlib-devel', 'libsomeotherlib-devel'] self.assertEqual(sorted(test_pkg.build_depends), sorted(ref_build_depends)) # ignore list is not tested here: they are removed from the install list # which means that doing a full install is necessary # test the overloaded and custom packages # This does not include the implicit packages ref_pkg_list_name = ['full', 'custom-package'] test_pkg_list_name = test_pkg._packages.keys() self.assertEqual(len(test_pkg._packages), 2) self.assertEqual(sorted(ref_pkg_list_name), sorted(test_pkg_list_name)) # test the customized packages further full = test_pkg._packages['full'] custom = test_pkg._packages['custom-package'] self.assertEqual(len(full._dependencies['depends']), 2) self.assertRegex(full.description, r'This is the fullest mmpack specfile possible.\n\nThis should follow.*') self.assertEqual(len(custom._dependencies['sysdepends']), 2) self.assertEqual(len(custom._dependencies['depends']), 2) self.assertRegexpMatches(custom.description, r'This should overload .*')
def test_prohibited(self): """ test that underscores are rejected by the version class """ with self.assertRaises(SyntaxError): Version('1_2.3')
def test_wildcard_version(self): """ test version wildcards """ self.assertLess(Version("1.0.0"), Version("any")) self.assertLess(Version("any"), Version("1.0.0"))