예제 #1
0
 def test_old_cloudinit_version(self, m_get_pkg_ver):
     """Test installed old cloud-init version."""
     m_get_pkg_ver.return_value = distro.parse_dpkg_version('0.7.7-0')
     apt_config.apply_preserve_sources_list(self.tmp)
     m_get_pkg_ver.assert_has_calls(
         [mock.call('cloud-init', target=self.tmp)])
     self.assertEqual(load_config(self.tmp_cfg),
                      {'apt_preserve_sources_list': True})
예제 #2
0
 def test_new_cloudinit_version(self, m_get_pkg_ver):
     """Test cloud-init > 1.0 with new apt format."""
     m_get_pkg_ver.return_value = distro.parse_dpkg_version('17.1-0ubuntu1')
     apt_config.apply_preserve_sources_list(self.tmp)
     m_get_pkg_ver.assert_has_calls(
         [mock.call('cloud-init', target=self.tmp)])
     self.assertEqual(load_config(self.tmp_cfg),
                      {'apt': {
                          'preserve_sources_list': True
                      }})
예제 #3
0
 def test_simple_valid_with_semx(self):
     self.assertEqual(
         {
             'major': 1,
             'minor': 2,
             'micro': 3,
             'extra': None,
             'raw': '1.2.3-0',
             'upstream': '1.2.3',
             'semantic_version': 123
         }, distro.parse_dpkg_version('1.2.3-0', semx=(100, 10, 1)))
예제 #4
0
 def test_simple_valid(self):
     self.assertEqual(
         {
             'major': 1,
             'minor': 2,
             'micro': 3,
             'extra': None,
             'raw': '1.2.3-0',
             'upstream': '1.2.3',
             'name': 'foo',
             'semantic_version': 10203
         }, distro.parse_dpkg_version('1.2.3-0', name='foo'))
예제 #5
0
 def test_simple_native_package_version(self):
     """dpkg versions must have a -. If not present expect value error."""
     self.assertEqual(
         {
             'major': 2,
             'minor': 28,
             'micro': 0,
             'extra': None,
             'raw': '2.28',
             'upstream': '2.28',
             'name': 'germinate',
             'semantic_version': 22800
         }, distro.parse_dpkg_version('2.28', name='germinate'))
예제 #6
0
 def test_upstream_with_plus(self):
     """multipath tools has a + in it."""
     mver = '0.5.0+git1.656f8865-5ubuntu2.5'
     self.assertEqual(
         {
             'major': 0,
             'minor': 5,
             'micro': 0,
             'extra': '+git1.656f8865',
             'raw': mver,
             'upstream': '0.5.0+git1.656f8865',
             'semantic_version': 500
         }, distro.parse_dpkg_version(mver))
예제 #7
0
 def test_upstream_with_hyphen(self):
     """upstream versions may have a hyphen."""
     cver = '18.2-14-g6d48d265-0ubuntu1'
     self.assertEqual(
         {
             'major': 18,
             'minor': 2,
             'micro': 0,
             'extra': '-14-g6d48d265',
             'raw': cver,
             'upstream': '18.2-14-g6d48d265',
             'name': 'cloud-init',
             'semantic_version': 180200
         }, distro.parse_dpkg_version(cver, name='cloud-init'))
예제 #8
0
 def test_package_with_dot_in_extra(self):
     """linux-image-generic has multiple dots in extra"""
     mver = '5.4.0.37.40'
     self.assertEqual(
         {
             'epoch': 0,
             'major': 5,
             'minor': 4,
             'micro': 0,
             'extra': '37.40',
             'raw': mver,
             'upstream': '5.4.0.37.40',
             'semantic_version': 50400
         }, distro.parse_dpkg_version(mver))
예제 #9
0
 def test_package_with_epoch(self):
     """xxd has epoch"""
     mver = '2:8.1.2269-1ubuntu5'
     self.assertEqual(
         {
             'epoch': 2,
             'major': 8,
             'minor': 1,
             'micro': 2269,
             'extra': None,
             'raw': mver,
             'upstream': '8.1.2269',
             'semantic_version': 82369
         }, distro.parse_dpkg_version(mver))
예제 #10
0
 def test_complex_native_package_version(self):
     dver = '1.0.106ubuntu2+really1.0.97ubuntu1'
     self.assertEqual(
         {
             'major': 1,
             'minor': 0,
             'micro': 106,
             'extra': 'ubuntu2+really1.0.97ubuntu1',
             'raw': dver,
             'upstream': dver,
             'name': 'debootstrap',
             'semantic_version': 100106
         },
         distro.parse_dpkg_version(dver,
                                   name='debootstrap',
                                   semx=(100000, 1000, 1)))