Beispiel #1
0
 def test_missing_kernels_dist(self):
     """ Test handing of a release without kernels in Dists """
     subs = CONFIG_SUBS.copy()
     subs['@DISTS@'] = 'src base'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #2
0
    def setUp(self):
        subs = copy.deepcopy(CONFIG_SUBS)
        subs['@INSTALLROOT@'] = INSTALLROOT
        os.mkdir(INSTALLROOT)
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
        farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)

        # Copy in each release and package root needed
        for release in RELEASE_NAMES:
            rewrite_config(
                CDROM_INF_IN, CDROM_INF,
                {'@CD_VERSION_LINE@': 'CD_VERSION = ' + release.upper()})
            releasedest = os.path.join(BUILDROOT, release, 'releaseroot',
                                       builder.RELEASE_CD_PATH)
            utils.copyRecursive(ISO_MOUNTPOINT, releasedest)
            # The fake CD image we have is for 6.2, so we might need to rename a
            # directory
            os.rename(os.path.join(releasedest, '6.2-RELEASE'),
                      os.path.join(releasedest, release.upper()))

            # Create the package root and its package directory
            pkgdest = os.path.join(BUILDROOT, release, 'pkgroot', 'usr',
                                   'ports', 'packages')
            utils.copyRecursive(PACKAGEDIR, pkgdest)

        self.nbr = runner.NetInstallAssemblerRunner(farbconfig)
        self.nbr.run()
Beispiel #3
0
 def test_missing_iso(self):
     """ Test handling of BinaryReleases without ISO """
     subs = CONFIG_SUBS.copy()
     del subs['@ISO@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #4
0
 def test_ports_dist(self):
     """ Test handling of a release with ports defined in Dists """
     subs = CONFIG_SUBS.copy()
     subs['@DISTS@'] = 'base ports src generic'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #5
0
 def test_missing_ports_source(self):
     """ Test handling of UsePortsnap and CVSRoot not existing """
     subs = CONFIG_SUBS.copy()
     del subs['@PORTSOURCE@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #6
0
 def test_cvsroot_present(self):
     """ Verify CVSRoot is set when BinaryRelease is False """
     subs = CONFIG_SUBS.copy()
     subs['@RELEASETYPE@'] = 'CVSTag RELENG_6_0'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #7
0
 def test_missing_release_type(self):
     """ Test handling of unset release type """
     subs = CONFIG_SUBS.copy()
     del subs['@RELEASETYPE@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #8
0
 def setUp(self):
     self.assembler = builder.PackageChrootAssembler(RELEASEROOT, PKGROOT)
     self.log = open(PROCESS_LOG, 'w+')
     self.dists = {'base' : ['base'], 'src' : ['szomg', 'swtf']}
     # Copy in a release to RELEASEROOT
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
     utils.copyRecursive(ISO_MOUNTPOINT, os.path.join(RELEASEROOT, builder.RELEASE_CD_PATH))
Beispiel #9
0
 def test_cvstag_present(self):
     """ Verify CVSTag is set when BinaryRelease is False """
     subs = CONFIG_SUBS.copy()
     subs['@PORTSOURCE@'] = 'CVSRoot ' + CVSROOT
     subs['@RELEASETYPE@'] = 'BinaryRelease False'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #10
0
 def test_releases_cvstag(self):
     """ Test handling of duplicate CVS Tags """
     bs = CONFIG_SUBS.copy()
     bs['@TAG1@'] = 'boom'
     bs['@TAG2@'] = 'boom'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, bs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #11
0
 def test_ports_cvs(self):
     """ Test using CVS for ports in binary release """
     subs = CONFIG_SUBS.copy()
     subs['@PORTSOURCE@'] = 'CVSRoot ' + CVSROOT
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
     release = config.Releases.Release[2]
     self.assertEquals(release.cvsroot, CVSROOT)
Beispiel #12
0
 def test_ports_cvs(self):
     """ Test using CVS for ports in binary release """
     subs = CONFIG_SUBS.copy()
     subs['@PORTSOURCE@'] = 'CVSRoot ' + CVSROOT
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
     release = config.Releases.Release[2]
     self.assertEquals(release.cvsroot, CVSROOT)
Beispiel #13
0
 def setUp(self):
     self.log = open(PROCESS_LOG, 'w+')
     self.installs = [builder.InstallAssembler('testinstall', 'Test Install', RELEASEROOT, INSTALL_CFG),]
     self.releaseInstalls = [builder.ReleaseAssembler('6.2', RELEASEROOT, PKGROOT),]
     self.irb = builder.NetInstallAssembler(INSTALLROOT, self.releaseInstalls, self.installs)
     # Create dummy "release" to copy to netinstall directory
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
     utils.copyRecursive(ISO_MOUNTPOINT, os.path.join(RELEASEROOT, builder.RELEASE_CD_PATH))
Beispiel #14
0
 def test_releases_cvstag(self):
     """ Test handling of duplicate CVS Tags """
     bs = CONFIG_SUBS.copy()
     bs['@TAG1@'] = 'boom'
     bs['@TAG2@'] = 'boom'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, bs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig,
                       self.schema, RELEASE_CONFIG_FILE)
Beispiel #15
0
 def test_default_dists(self):
     """ Ensure that default Dists are set properly """
     subs = CONFIG_SUBS.copy()
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
     release = config.Releases.Release[1]
     self.assertEquals(release.dists, ["base", "kernels", "doc", "games", "manpages", "catpages", "proflibs", "dict", "info", "src"])
     self.assertEquals(release.kerneldists, ["GENERIC", "SMP"])
Beispiel #16
0
 def test_default_dists(self):
     """ Ensure that default Dists are set properly """
     subs = CONFIG_SUBS.copy()
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
     release = config.Releases.Release[1]
     self.assertEquals(release.dists, [
         "base", "kernels", "doc", "games", "manpages", "catpages",
         "proflibs", "dict", "info", "src"
     ])
     self.assertEquals(release.kerneldists, ["GENERIC", "SMP"])
Beispiel #17
0
    def test_partition_softupdates(self):
        """ Verify that SoftUpdates flags are tweaked appropriately """
        bs = CONFIG_SUBS.copy()
        bs['@SWAPSU@'] = 'True'
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, bs)

        config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
        for part in config.Partitions.PartitionMap[0].Partition:
            if (part.type == 'swap'):
                self.assertEquals(part.softupdates, False)
            elif (part.mount == '/usr'):
                self.assertEquals(part.softupdates, True)
Beispiel #18
0
    def test_partition_softupdates(self):
        """ Verify that SoftUpdates flags are tweaked appropriately """
        bs = CONFIG_SUBS.copy()
        bs['@SWAPSU@'] = 'True'
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, bs)

        config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
        for part in config.Partitions.PartitionMap[0].Partition:
            if (part.type == 'swap'):
                self.assertEquals(part.softupdates, False)
            elif (part.mount == '/usr'):
                self.assertEquals(part.softupdates, True)
Beispiel #19
0
    def setUp(self):
        self.log = open(PROCESS_LOG, 'w+')
        self.destdir = os.path.join(TFTPROOT, 'testinstall')
        self.mfsroot = os.path.join(self.destdir, 'mfsroot')
        self.installCfg = os.path.join(self.destdir, 'mnt', 'install.cfg')
        self.bootConf = os.path.join(self.destdir, 'boot.conf')
        self.builder = builder.InstallAssembler('testinstall', 'Test Install', RELEASEROOT, INSTALL_CFG)

        os.mkdir(TFTPROOT)
        os.mkdir(self.destdir)
        
        # Create dummy "release" containing the kernel and mfsroot needed
        rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
        utils.copyRecursive(ISO_MOUNTPOINT, os.path.join(RELEASEROOT, builder.RELEASE_CD_PATH))
Beispiel #20
0
    def test_missingPartitionMap(self):
        """
        Test handling of a missing PartitionMap
        """
        # Break referential integrity
        subs = CONFIG_SUBS.copy()
        subs['@PMAP@'] = 'DoesNotExist'

        # Rewrite and reload config
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
        self.config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)

        # Kaboom?
        self.assertRaises(ZConfig.ConfigurationError, config.verifyReferences, self.config)
Beispiel #21
0
 def setUp(self):
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, CONFIG_SUBS)
     farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)
     config.verifyPackages(farbconfig)
     # Copy in each release needed
     for release in RELEASE_NAMES:
         rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = ' + release.upper()})
         dest = os.path.join(BUILDROOT, release, 'releaseroot', builder.RELEASE_CD_PATH)
         utils.copyRecursive(ISO_MOUNTPOINT, dest)
         # The fake CD image we have is for 6.2, so we might need to rename a 
         # directory
         os.rename(os.path.join(dest, '6.2-RELEASE'), os.path.join(dest, release.upper()))
     
     self.pbr = runner.PackageBuildRunner(farbconfig)
     self.pbr.run()
Beispiel #22
0
    def test_missingPackageSet(self):
        """
        Test handling of a missing PackageSet
        """
        # Break referential integrity
        subs = CONFIG_SUBS.copy()
        subs['@PSET@'] = 'DoesNotExist'

        # Rewrite and reload config
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
        self.config, handler = ZConfig.loadConfig(self.schema, RELEASE_CONFIG_FILE)
        self.instSection = self.config.Installations.Installation[0]

        # Kaboom?
        self.assertRaises(ZConfig.ConfigurationError, config.verifyReferences, self.config)
Beispiel #23
0
    def test_missingPartitionMap(self):
        """
        Test handling of a missing PartitionMap
        """
        # Break referential integrity
        subs = CONFIG_SUBS.copy()
        subs['@PMAP@'] = 'DoesNotExist'

        # Rewrite and reload config
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
        self.config, handler = ZConfig.loadConfig(self.schema,
                                                  RELEASE_CONFIG_FILE)

        # Kaboom?
        self.assertRaises(ZConfig.ConfigurationError, config.verifyReferences,
                          self.config)
Beispiel #24
0
    def test_missingPackageSet(self):
        """
        Test handling of a missing PackageSet
        """
        # Break referential integrity
        subs = CONFIG_SUBS.copy()
        subs['@PSET@'] = 'DoesNotExist'

        # Rewrite and reload config
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
        self.config, handler = ZConfig.loadConfig(self.schema,
                                                  RELEASE_CONFIG_FILE)
        self.instSection = self.config.Installations.Installation[0]

        # Kaboom?
        self.assertRaises(ZConfig.ConfigurationError, config.verifyReferences,
                          self.config)
Beispiel #25
0
    def setUp(self):
        rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE,
                       CONFIG_SUBS)
        farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)
        config.verifyPackages(farbconfig)
        # Copy in each release needed
        for release in RELEASE_NAMES:
            rewrite_config(
                CDROM_INF_IN, CDROM_INF,
                {'@CD_VERSION_LINE@': 'CD_VERSION = ' + release.upper()})
            dest = os.path.join(BUILDROOT, release, 'releaseroot',
                                builder.RELEASE_CD_PATH)
            utils.copyRecursive(ISO_MOUNTPOINT, dest)
            # The fake CD image we have is for 6.2, so we might need to rename a
            # directory
            os.rename(os.path.join(dest, '6.2-RELEASE'),
                      os.path.join(dest, release.upper()))

        self.pbr = runner.PackageBuildRunner(farbconfig)
        self.pbr.run()
Beispiel #26
0
 def setUp(self):
     subs = copy.deepcopy(CONFIG_SUBS)
     subs['@INSTALLROOT@'] = INSTALLROOT
     os.mkdir(INSTALLROOT)
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)
     
     # Copy in each release and package root needed
     for release in RELEASE_NAMES:
         rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = ' + release.upper()})
         releasedest = os.path.join(BUILDROOT, release, 'releaseroot', builder.RELEASE_CD_PATH)
         utils.copyRecursive(ISO_MOUNTPOINT, releasedest)
         # The fake CD image we have is for 6.2, so we might need to rename a
         # directory
         os.rename(os.path.join(releasedest, '6.2-RELEASE'), os.path.join(releasedest, release.upper()))
         
         # Create the package root and its package directory
         pkgdest = os.path.join(BUILDROOT, release, 'pkgroot', 'usr', 'ports', 'packages')
         utils.copyRecursive(PACKAGEDIR, pkgdest)
     
     self.nbr = runner.NetInstallAssemblerRunner(farbconfig)
     self.nbr.run()
Beispiel #27
0
 def setUp(self):
     # Load ZConfig schema
     self.schema = ZConfig.loadSchema(farb.CONFIG_SCHEMA)
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE,
                    CONFIG_SUBS)
     rewrite_config(PACKAGES_CONFIG_FILE_IN, PACKAGES_CONFIG_FILE,
                    CONFIG_SUBS)
     rewrite_config(PACKAGES_BAD_CONFIG_FILE_IN, PACKAGES_BAD_CONFIG_FILE,
                    CONFIG_SUBS)
Beispiel #28
0
 def test_clean(self):
     # Now try the same thing with a chroot that isn't empty
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
     utils.copyRecursive(ISO_MOUNTPOINT, os.path.join(RELEASEROOT, builder.RELEASE_CD_PATH))
     self.cleaner.clean(self.log)
     self._dirCreated()
Beispiel #29
0
 def setUp(self):
     # Load ZConfig schema
     self.schema = ZConfig.loadSchema(farb.CONFIG_SCHEMA)
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, CONFIG_SUBS)
     rewrite_config(PACKAGES_CONFIG_FILE_IN, PACKAGES_CONFIG_FILE, CONFIG_SUBS)
     rewrite_config(PACKAGES_BAD_CONFIG_FILE_IN, PACKAGES_BAD_CONFIG_FILE, CONFIG_SUBS)
Beispiel #30
0
 def setUp(self):
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE,
                    CONFIG_SUBS)
     farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)
     self.rbr = runner.ReleaseBuildRunner(farbconfig)
     self.rbr.run()
Beispiel #31
0
 def setUp(self):
     self.log = open(PROCESS_LOG, 'w+')
     self.destdir = os.path.join(INSTALLROOT, 'buildtest')
     # Create dummy "release"
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
     utils.copyRecursive(ISO_MOUNTPOINT, os.path.join(RELEASEROOT, builder.RELEASE_CD_PATH))
Beispiel #32
0
 def setUp(self):
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, CONFIG_SUBS)
     farbconfig, handler = ZConfig.loadConfig(SCHEMA, RELEASE_CONFIG_FILE)
     self.rbr = runner.ReleaseBuildRunner(farbconfig)
     self.rbr.run()
Beispiel #33
0
 def test_ports_dist(self):
     """ Test handling of a release with ports defined in Dists """
     subs = CONFIG_SUBS.copy()
     subs['@DISTS@'] = 'base ports src generic'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #34
0
 def test_missing_kernels_dist(self):
     """ Test handing of a release without kernels in Dists """
     subs = CONFIG_SUBS.copy()
     subs['@DISTS@'] = 'src base'
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #35
0
 def test_getCDRelease(self):
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'CD_VERSION = 6.2-RELEASE'})
     self.assertEquals(builder._getCDRelease(os.path.dirname(CDROM_INF)), '6.2-RELEASE')
Beispiel #36
0
 def test_missing_ports_source(self):
     """ Test handling of UsePortsnap and CVSRoot not existing """
     subs = CONFIG_SUBS.copy()
     del subs['@PORTSOURCE@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #37
0
 def test_missing_iso(self):
     """ Test handling of BinaryReleases without ISO """
     subs = CONFIG_SUBS.copy()
     del subs['@ISO@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)
Beispiel #38
0
 def test_badCDInf(self):
     # Make sure we have an exception when CD_VERSION line looks wrong
     rewrite_config(CDROM_INF_IN, CDROM_INF, {'@CD_VERSION_LINE@' : 'hi I am a CD!'})
     self.assertRaises(builder.CDReleaseError, builder._getCDRelease, os.path.dirname(CDROM_INF))
Beispiel #39
0
 def test_missing_release_type(self):
     """ Test handling of unset release type """
     subs = CONFIG_SUBS.copy()
     del subs['@RELEASETYPE@']
     rewrite_config(RELEASE_CONFIG_FILE_IN, RELEASE_CONFIG_FILE, subs)
     self.assertRaises(ZConfig.ConfigurationError, ZConfig.loadConfig, self.schema, RELEASE_CONFIG_FILE)