Exemplo n.º 1
0
    def test_template_version_tagger(self):
        """
        Make sure the template is applied and results in the correct file
        being included in the tag.
        """
        pkg_dir = join(self.repo_dir, 'pkg3')
        filename = join(pkg_dir, "tito.props")
        self.write_file(filename, TEMPLATE_TAGGER_TITO_PROPS)
        run_command('mkdir -p %s' % join(self.repo_dir, '.tito/templates'))
        self.write_file(join(self.repo_dir,
            '.tito/templates/version.rb'), VERSION_TEMPLATE_FILE)

        os.chdir(self.repo_dir)
        run_command('git add pkg3/tito.props')
        run_command("git commit -m 'add tito.props for pkg3'")

        # Create another pkg3 tag and make sure we got a generated
        # template file.
        os.chdir(os.path.join(self.repo_dir, 'pkg3'))
        tito('tag --debug --accept-auto-changelog')
        new_ver = get_latest_tagged_version(TEST_PKG_3)
        self.assertEquals("0.0.2-1", new_ver)

        dest_file = os.path.join(self.repo_dir, 'pkg3', "version.txt")
        self.assertTrue(os.path.exists(dest_file))

        f = open(dest_file, 'r')
        contents = f.read()
        f.close()

        self.assertTrue("VERSION = \"0.0.2-1\"" in contents)
Exemplo n.º 2
0
    def test_template_version_tagger(self):
        """
        Make sure the template is applied and results in the correct file
        being included in the tag.
        """
        pkg_dir = join(self.repo_dir, 'pkg3')
        filename = join(pkg_dir, "tito.props")
        self.write_file(filename, TEMPLATE_TAGGER_TITO_PROPS)
        run_command('mkdir -p %s' % join(self.repo_dir, '.tito/templates'))
        self.write_file(join(self.repo_dir, '.tito/templates/version.rb'),
                        VERSION_TEMPLATE_FILE)

        os.chdir(self.repo_dir)
        run_command('git add pkg3/tito.props')
        run_command("git commit -m 'add tito.props for pkg3'")

        # Create another pkg3 tag and make sure we got a generated
        # template file.
        os.chdir(os.path.join(self.repo_dir, 'pkg3'))
        tito('tag --debug --accept-auto-changelog')
        new_ver = get_latest_tagged_version(TEST_PKG_3)
        self.assertEquals("0.0.2-1", new_ver)

        dest_file = os.path.join(self.repo_dir, 'pkg3', "version.txt")
        self.assertTrue(os.path.exists(dest_file))

        f = open(dest_file, 'r')
        contents = f.read()
        f.close()

        self.assertTrue("VERSION = \"0.0.2-1\"" in contents)
Exemplo n.º 3
0
 def test_release_tagger_use_version(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg2'))
     start_ver = get_latest_tagged_version(TEST_PKG_2)
     tito('tag --debug --accept-auto-changelog --use-version 1.3.37')
     new_ver = get_latest_tagged_version(TEST_PKG_2)
     self.assertFalse(release_bumped(start_ver, new_ver))
     self.assertEquals(new_ver, "1.3.37-1")
Exemplo n.º 4
0
    def test_tag_with_changelog_multiple(self):
        tito("tag --accept-auto-changelog --use-version 9.0.0 --changelog=Test --changelog=Fake")
        check_tag_exists("%s-9.0.0-1" % PKG_NAME, offline=True)

        changelog = getoutput("cat *.spec")
        self.assertTrue('- Test' in changelog)
        self.assertTrue('- Fake' in changelog)
Exemplo n.º 5
0
    def test_tag_with_custom_message_containing_quotes(self):
        os.chdir(self.repo_dir)
        with open(os.path.join(self.repo_dir, '.tito', 'tito.props'), 'a') as f:
            f.write('tag_commit_message_format = Hack"%(name)s\\\n')

        tito("tag --accept-auto-changelog")

        last_msg = getoutput('git log -n 1 --pretty=format:%s')
        self.assertEqual('Hack"titotestpkg\\', last_msg.strip())
Exemplo n.º 6
0
    def test_tag_with_custom_message(self):
        os.chdir(self.repo_dir)
        with open(os.path.join(self.repo_dir, '.tito', 'tito.props'), 'a') as f:
            f.write('tag_commit_message_format = No info plz\n')

        tito("tag --accept-auto-changelog")

        last_msg = getoutput('git log -n 1 --pretty=format:%s')
        self.assertEqual('No info plz', last_msg.strip())
Exemplo n.º 7
0
    def test_lock_force_supported(self):
        tito('tag --debug --accept-auto-changelog')
        builder = GitAnnexBuilder(PKG_NAME, None, self.output_dir,
            self.config, {}, {}, **{'offline': True})

        self.assertTrue(builder._lock_force_supported('5.20140107'))
        self.assertTrue(builder._lock_force_supported('5.20131213'))
        self.assertFalse(builder._lock_force_supported('5.20131127.1'))
        self.assertFalse(builder._lock_force_supported('3.20120522'))
Exemplo n.º 8
0
    def test_with_releaser(self):
        yum_repo_dir = os.path.join(self.output_dir, 'yum')
        self._setup_fetchbuilder_releaser(yum_repo_dir)
        tito('release --debug yum-test')

        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "releaseme-0.0.1-1.*noarch.rpm"))))
        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "repodata/repomd.xml"))))
Exemplo n.º 9
0
    def test_lock_force_supported(self):
        tito('tag --debug --accept-auto-changelog')
        builder = GitAnnexBuilder(PKG_NAME, None, self.output_dir, self.config,
                                  {}, {}, **{'offline': True})

        self.assertTrue(builder._lock_force_supported('5.20140107'))
        self.assertTrue(builder._lock_force_supported('5.20131213'))
        self.assertFalse(builder._lock_force_supported('5.20131127.1'))
        self.assertFalse(builder._lock_force_supported('3.20120522'))
Exemplo n.º 10
0
    def test_with_releaser(self):
        yum_repo_dir = os.path.join(self.output_dir, 'yum')
        run_command('mkdir -p %s' % yum_repo_dir)
        self._setup_fetchbuilder_releaser(yum_repo_dir)
        tito('release --debug yum-test')

        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "releaseme-0.0.1-1.*noarch.rpm"))))
        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "repodata/repomd.xml"))))
Exemplo n.º 11
0
    def test_with_releaser(self):
        yum_repo_dir = os.path.join(self.output_dir, 'yum')
        self._setup_fetchbuilder_releaser(yum_repo_dir)
        tito('release --debug yum-test --arg source=%s' %
                self.source_filename)

        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "extsrc-0.0.2-1.*noarch.rpm"))))
        self.assertEquals(1, len(glob.glob(join(yum_repo_dir,
            "repodata/repomd.xml"))))
Exemplo n.º 12
0
    def test_with_releaser(self):
        yum_repo_dir = os.path.join(self.output_dir, 'yum')
        self._setup_fetchbuilder_releaser(yum_repo_dir)
        tito('release --debug yum-test --arg source=%s' % self.source_filename)

        self.assertEquals(
            1, len(glob.glob(join(yum_repo_dir,
                                  "extsrc-0.0.2-1.*noarch.rpm"))))
        self.assertEquals(
            1, len(glob.glob(join(yum_repo_dir, "repodata/repomd.xml"))))
Exemplo n.º 13
0
    def test_simple_build_no_tag(self):
        # We have not tagged here. Build --rpm should just work:
        self.assertFalse(os.path.exists(
            join(self.pkg_dir, '.tito/packages/extsrc')))

        tito('build --rpm --output=%s --no-cleanup --debug --arg=source=%s ' %
                (self.output_dir, self.source_filename))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "extsrc-0.0.2-1.*src.rpm"))))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "noarch/extsrc-0.0.2-1.*noarch.rpm"))))
Exemplo n.º 14
0
    def test_simple_build_no_tag(self):
        # We have not tagged here. Build --rpm should just work:
        self.assertFalse(os.path.exists(
            join(self.pkg_dir, 'rel-eng/packages/extsrc')))

        tito('build --rpm --output=%s --no-cleanup --debug --arg=source=%s ' %
                (self.output_dir, self.source_filename))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "extsrc-0.0.2-1.*src.rpm"))))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "noarch/extsrc-0.0.2-1.*noarch.rpm"))))
Exemplo n.º 15
0
    def test_simple_build(self):
        run_command('git annex add %s' % self.source_filename)
        run_command('git commit -a -m "Add source."')
        # This will create 0.0.2:
        tito('tag --debug --accept-auto-changelog')
        builder = GitAnnexBuilder(PKG_NAME, None, self.output_dir,
            self.config, {}, {}, **{'offline': True})
        builder.rpm()
        self.assertEquals(1, len(list(builder.sources)))

        self.assertEquals(2, len(builder.artifacts))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "extsrc-0.0.2-1.*src.rpm"))))
        self.assertEquals(1, len(glob.glob(join(self.output_dir, 'noarch',
            "extsrc-0.0.2-1.*.noarch.rpm"))))
Exemplo n.º 16
0
 def setUpClass(self):
     'Run tito build before _all_ tests in this class.'
     self.output_dir = tempfile.mkdtemp("-titotestoutput")
     os.chdir(os.path.abspath(join(__file__, '..', '..', '..')))
     self.artifacts = tito(
         'build --rpm --test --output=%s --offline --no-cleanup --debug' %
         self.output_dir)
Exemplo n.º 17
0
    def test_undo_tag(self):
        os.chdir(self.repo_dir)
        original_head = getoutput('git show-ref -s refs/heads/master')

        # Create tito tag, which adds a new commit and moves head.
        tito("tag --accept-auto-changelog --debug")
        tag = "%s-0.0.2-1" % PKG_NAME
        check_tag_exists(tag, offline=True)
        new_head = getoutput('git show-ref -s refs/heads/master')
        self.assertNotEqual(original_head, new_head)

        # Undo tito tag, which rewinds one commit to original head.
        tito("tag -u")
        self.assertFalse(tag_exists_locally(tag))
        new_head = getoutput('git show-ref -s refs/heads/master')
        self.assertEqual(original_head, new_head)
Exemplo n.º 18
0
    def test_undo_tag(self):
        os.chdir(self.repo_dir)
        original_head = getoutput('git show-ref -s refs/heads/master')

        # Create tito tag, which adds a new commit and moves head.
        tito("tag --accept-auto-changelog --debug")
        tag = "%s-0.0.2-1" % PKG_NAME
        check_tag_exists(tag, offline=True)
        new_head = getoutput('git show-ref -s refs/heads/master')
        self.assertNotEqual(original_head, new_head)

        # Undo tito tag, which rewinds one commit to original head.
        tito("tag -u")
        self.assertFalse(tag_exists_locally(tag))
        new_head = getoutput('git show-ref -s refs/heads/master')
        self.assertEqual(original_head, new_head)
Exemplo n.º 19
0
    def test_simple_build(self):
        run_command('git annex add %s' % self.source_filename)
        run_command('git commit -a -m "Add source."')
        # This will create 0.0.2:
        tito('tag --debug --accept-auto-changelog')
        builder = GitAnnexBuilder(PKG_NAME, None, self.output_dir,
            self.config, {}, {}, **{'offline': True})
        builder.rpm()
        self.assertEquals(1, len(list(builder.sources)))

        self.assertEquals(2, len(builder.artifacts))
        self.assertEquals(1, len(glob.glob(join(self.output_dir,
            "extsrc-0.0.2-1.*src.rpm"))))
        self.assertEquals(1, len(glob.glob(join(self.output_dir, 'noarch',
            "extsrc-0.0.2-1.*.noarch.rpm"))))
        builder.cleanup()
Exemplo n.º 20
0
 def setUpClass(self):
     'Run tito build before _all_ tests in this class.'
     self.output_dir = tempfile.mkdtemp("-titotestoutput")
     os.chdir(os.path.abspath(join(__file__, '..', '..', '..')))
     self.artifacts = tito(
         'build --rpm --test --output=%s --offline --no-cleanup --debug' %
         self.output_dir
     )
Exemplo n.º 21
0
 def test_tag(self):
     tito("tag --accept-auto-changelog --debug")
     check_tag_exists("%s-0.0.2-1" % PKG_NAME, offline=True)
Exemplo n.º 22
0
 def test_untagged_test_build(self):
     self.create_project(PKG_NAME, tag=False)
     self.assertEqual("", run_command("git tag -l").strip())
     tito('build --srpm --test')
Exemplo n.º 23
0
 def test_build_tgz(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg1'))
     artifacts = tito('build --tgz')
     self.assertEquals(1, len(artifacts))
     self.assertEquals('%s-0.0.1.tar.gz' % TEST_PKG_1,
             os.path.basename(artifacts[0]))
Exemplo n.º 24
0
 def test_untagged_test_build(self):
     self.create_project(PKG_NAME, tag=False)
     self.assertEqual("", run_command("git tag -l").strip())
     tito('build --srpm --test')
Exemplo n.º 25
0
 def test_build_latest_rpm(self):
     tito("build --rpm -o %s" % self.repo_dir)
Exemplo n.º 26
0
 def test_build_tgz_tag(self):
     tito("build --tgz --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
         self.repo_dir))
     self.assertTrue(os.path.exists(os.path.join(self.repo_dir,
         "%s-0.0.1.tar.gz" % PKG_NAME)))
Exemplo n.º 27
0
 def test_build_latest_rpm(self):
     tito("build --rpm -o %s" % self.repo_dir)
Exemplo n.º 28
0
 def test_build_rpm(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg1'))
     artifacts = tito('build --rpm')
     self.assertEquals(3, len(artifacts))
Exemplo n.º 29
0
 def test_build_tgz_tag(self):
     tito("build --tgz --tag=%s-0.0.1-1 -o %s" % (PKG_NAME, self.repo_dir))
     self.assertTrue(
         os.path.exists(
             os.path.join(self.repo_dir, "%s-0.0.1.tar.gz" % PKG_NAME)))
Exemplo n.º 30
0
 def test_latest_tgz(self):
     tito("build --tgz -o %s" % self.repo_dir)
Exemplo n.º 31
0
 def test_tag_with_version(self):
     tito("tag --accept-auto-changelog --debug --use-version 9.0.0")
     check_tag_exists("%s-9.0.0-1" % PKG_NAME, offline=True)
Exemplo n.º 32
0
 def test_latest_tgz(self):
     tito("build --tgz -o %s" % self.repo_dir)
Exemplo n.º 33
0
 def test_build_rpm_tag(self):
     tito("build --rpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME, self.repo_dir))
Exemplo n.º 34
0
 def test_build_latest_srpm(self):
     tito("build --srpm")
Exemplo n.º 35
0
 def test_build_tgz(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg1'))
     artifacts = tito('build --tgz')
     self.assertEquals(1, len(artifacts))
     self.assertEquals('%s-0.0.1.tar.gz' % TEST_PKG_1,
                       os.path.basename(artifacts[0]))
Exemplo n.º 36
0
 def test_build_rpm_tag(self):
     tito("build --rpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
         self.repo_dir))
Exemplo n.º 37
0
 def test_release_tagger(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg2'))
     start_ver = get_latest_tagged_version(TEST_PKG_2)
     tito('tag --debug --accept-auto-changelog')
     new_ver = get_latest_tagged_version(TEST_PKG_2)
     self.assertTrue(release_bumped(start_ver, new_ver))
Exemplo n.º 38
0
 def test_release_tagger(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg2'))
     start_ver = get_latest_tagged_version(TEST_PKG_2)
     tito('tag --debug --accept-auto-changelog')
     new_ver = get_latest_tagged_version(TEST_PKG_2)
     self.assertTrue(release_bumped(start_ver, new_ver))
Exemplo n.º 39
0
 def test_tag_with_version_and_release(self):
     tito("tag --accept-auto-changelog --debug --use-version 9.0.0 --use-release dummyvalue")
     check_tag_exists("%s-9.0.0-dummyvalue" % PKG_NAME, offline=True)
Exemplo n.º 40
0
 def test_build_rpm(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg1'))
     artifacts = tito('build --rpm')
     self.assertEquals(3, len(artifacts))
Exemplo n.º 41
0
 def test_tag(self):
     tito("tag --accept-auto-changelog --debug")
     check_tag_exists("%s-0.0.2-1" % PKG_NAME, offline=True)
Exemplo n.º 42
0
 def test_release_tagger_use_release(self):
     os.chdir(os.path.join(self.repo_dir, 'pkg2'))
     tito('tag --debug --accept-auto-changelog --use-release 42')
     new_ver = get_latest_tagged_version(TEST_PKG_2)
     self.assertEquals(new_ver.split('-')[-1], "42")
Exemplo n.º 43
0
 def test_tag_with_version(self):
     tito("tag --accept-auto-changelog --debug --use-version 9.0.0")
     check_tag_exists("%s-9.0.0-1" % PKG_NAME, offline=True)
Exemplo n.º 44
0
 def test_build_latest_srpm(self):
     tito("build --srpm")
Exemplo n.º 45
0
 def test_tag_with_version_and_release(self):
     tito(
         "tag --accept-auto-changelog --debug --use-version 9.0.0 --use-release dummyvalue"
     )
     check_tag_exists("%s-9.0.0-dummyvalue" % PKG_NAME, offline=True)