mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
Merge branch 'master' into sourcefetch
Conflicts: test/functional/singleproject_tests.py Technically not a merge, did a bunch of work only to discover I was mid-merge when I did it.
This commit is contained in:
commit
a52a2458c4
6 changed files with 200 additions and 115 deletions
|
@ -44,17 +44,129 @@ class ExternalSourceBuilder(ConfigObject, BuilderBase):
|
||||||
error_out("ExternalSourceBuilder does not support building "
|
error_out("ExternalSourceBuilder does not support building "
|
||||||
"specific tags.")
|
"specific tags.")
|
||||||
|
|
||||||
# Project directory where we started this build:
|
|
||||||
self.start_dir = os.getcwd()
|
|
||||||
|
|
||||||
self.build_tag = '%s-%s' % (self.project_name,
|
self.build_tag = '%s-%s' % (self.project_name,
|
||||||
get_spec_version_and_release(self.start_dir,
|
get_spec_version_and_release(self.start_dir,
|
||||||
'%s.spec' % self.project_name))
|
'%s.spec' % self.project_name))
|
||||||
|
|
||||||
|
def tgz(self):
|
||||||
|
self.ran_tgz = True
|
||||||
|
self._create_build_dirs()
|
||||||
|
|
||||||
|
print("Fetching sources...")
|
||||||
|
source_strat = KeywordArgSourceStrategy(self)
|
||||||
|
source_strat.fetch()
|
||||||
|
self.sources = source_strat.sources
|
||||||
|
self.spec_file = source_strat.spec_file
|
||||||
|
|
||||||
|
# Copy every normal file in the directory we ran tito from. This
|
||||||
|
# will pick up any sources that were sitting around locally.
|
||||||
|
# TODO: how to copy only sources?
|
||||||
|
#files_in_src_dir = [f for f in os.listdir(self.start_dir) \
|
||||||
|
# if os.path.isfile(os.path.join(self.start_dir, f)) ]
|
||||||
|
#print files_in_src_dir
|
||||||
|
#for f in files_in_src_dir:
|
||||||
|
# shutil.copyfile(os.path.join(self.start_dir, f),
|
||||||
|
# os.path.join(self.rpmbuild_sourcedir, f))
|
||||||
|
# TODO: extract version/release from filename?
|
||||||
|
# TODO: what filename?
|
||||||
|
#cmd = "/usr/bin/spectool --list-files '%s' | awk '{print $2}' |xargs -l1 --no-run-if-empty basename " % self.spec_file
|
||||||
|
#result = run_command(cmd)
|
||||||
|
#self.sources = map(lambda x: os.path.join(self.rpmbuild_sourcedir, x), result.split("\n"))
|
||||||
|
|
||||||
|
def _get_rpmbuild_dir_options(self):
|
||||||
|
return ('--define "_sourcedir %s" --define "_builddir %s" '
|
||||||
|
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
||||||
|
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
||||||
|
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
||||||
|
|
||||||
|
|
||||||
|
class SourceStrategy(object):
|
||||||
|
"""
|
||||||
|
Base class for source strategies. These are responsible for fetching the
|
||||||
|
sources the builder will use, and determining what version/release we're
|
||||||
|
building.
|
||||||
|
|
||||||
|
This is created and run in the tgz step of the builder. It will be passed
|
||||||
|
a reference to the builder calling it, which will be important for accessing
|
||||||
|
a lot of required information.
|
||||||
|
|
||||||
|
Ideally sources and the spec file to be used should be copied into
|
||||||
|
builder.rpmbuild_sourcedir, which will be cleaned up automatically after
|
||||||
|
the builder runs.
|
||||||
|
"""
|
||||||
|
def __init__(self, builder):
|
||||||
|
"""
|
||||||
|
Defines fields that should be set when a sub-class runs fetch.
|
||||||
|
"""
|
||||||
|
self.builder = builder
|
||||||
|
|
||||||
|
# Full path to the spec file we'll actually use to build, should be a
|
||||||
|
# copy, never a live spec file in a git repo as sometimes it will be
|
||||||
|
# modified:
|
||||||
|
self.spec_file = None
|
||||||
|
|
||||||
|
# Will contain the full path to each source we gather:
|
||||||
|
self.sources = []
|
||||||
|
|
||||||
|
# The version we're building:
|
||||||
|
self.version = None
|
||||||
|
|
||||||
|
# The release we're building:
|
||||||
|
self.release = None
|
||||||
|
|
||||||
|
def fetch(self):
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
|
||||||
|
class KeywordArgSourceStrategy(SourceStrategy):
|
||||||
|
"""
|
||||||
|
Assumes the builder was passed an explicit argument specifying which source
|
||||||
|
file(s) to use.
|
||||||
|
"""
|
||||||
|
def fetch(self):
|
||||||
|
|
||||||
# Assuming we're still in the start directory, get the absolute path
|
# Assuming we're still in the start directory, get the absolute path
|
||||||
# to all sources specified:
|
# to all sources specified:
|
||||||
self.manual_sources = [os.path.abspath(s) for s in kwargs['sources']]
|
manual_sources = [os.path.abspath(s) for s in \
|
||||||
debug("Got sources: %s" % self.manual_sources)
|
self.builder.kwargs['sources']]
|
||||||
|
debug("Got sources: %s" % manual_sources)
|
||||||
|
|
||||||
|
# Copy the live spec from our starting location. Unlike most builders,
|
||||||
|
# we are not using a copy from a past git commit.
|
||||||
|
self.spec_file = os.path.join(self.builder.rpmbuild_sourcedir,
|
||||||
|
'%s.spec' % self.builder.project_name)
|
||||||
|
shutil.copyfile(
|
||||||
|
os.path.join(self.builder.start_dir, '%s.spec' %
|
||||||
|
self.builder.project_name),
|
||||||
|
self.spec_file)
|
||||||
|
print(" %s.spec" % self.builder.project_name)
|
||||||
|
|
||||||
|
# TODO: Make this a configurable strategy:
|
||||||
|
i = 0
|
||||||
|
replacements = []
|
||||||
|
for s in manual_sources:
|
||||||
|
base_name = os.path.basename(s)
|
||||||
|
dest_filepath = os.path.join(self.builder.rpmbuild_sourcedir,
|
||||||
|
base_name)
|
||||||
|
shutil.copyfile(s, dest_filepath)
|
||||||
|
self.sources.append(dest_filepath)
|
||||||
|
|
||||||
|
# Add a line to replace in the spec for each source:
|
||||||
|
source_regex = re.compile("^(source%s:\s*)(.+)$" % i, re.IGNORECASE)
|
||||||
|
new_line = "Source%s: %s" % (i, base_name)
|
||||||
|
replacements.append((source_regex, new_line))
|
||||||
|
|
||||||
|
# Replace version and release in spec:
|
||||||
|
version_regex = re.compile("^(version:\s*)(.+)$", re.IGNORECASE)
|
||||||
|
release_regex = re.compile("^(release:\s*)(.+)$", re.IGNORECASE)
|
||||||
|
|
||||||
|
(self.version, self.release) = self._get_version_and_release()
|
||||||
|
print("Building version: %s" % self.version)
|
||||||
|
print("Building release: %s" % self.release)
|
||||||
|
replacements.append((version_regex, "Version: %s\n" % self.version))
|
||||||
|
replacements.append((release_regex, "Release: %s\n" % self.release))
|
||||||
|
|
||||||
|
self.replace_in_spec(replacements)
|
||||||
|
|
||||||
def _get_version_and_release(self):
|
def _get_version_and_release(self):
|
||||||
"""
|
"""
|
||||||
|
@ -80,62 +192,6 @@ class ExternalSourceBuilder(ConfigObject, BuilderBase):
|
||||||
|
|
||||||
return (version, release)
|
return (version, release)
|
||||||
|
|
||||||
def tgz(self):
|
|
||||||
self.ran_tgz = True
|
|
||||||
self._create_build_dirs()
|
|
||||||
|
|
||||||
print("Fetching sources...")
|
|
||||||
|
|
||||||
# Copy the live spec from our starting location. Unlike most builders,
|
|
||||||
# we are not using a copy from a past git commit.
|
|
||||||
self.spec_file = os.path.join(self.rpmbuild_sourcedir,
|
|
||||||
'%s.spec' % self.project_name)
|
|
||||||
shutil.copyfile(
|
|
||||||
os.path.join(self.start_dir, '%s.spec' % self.project_name),
|
|
||||||
self.spec_file)
|
|
||||||
print(" %s.spec" % self.project_name)
|
|
||||||
|
|
||||||
# TODO: Make this a configurable strategy:
|
|
||||||
i = 0
|
|
||||||
replacements = []
|
|
||||||
for s in self.manual_sources:
|
|
||||||
base_name = os.path.basename(s)
|
|
||||||
dest_filepath = os.path.join(self.rpmbuild_sourcedir, base_name)
|
|
||||||
shutil.copyfile(s, dest_filepath)
|
|
||||||
self.sources.append(dest_filepath)
|
|
||||||
|
|
||||||
# Add a line to replace in the spec for each source:
|
|
||||||
source_regex = re.compile("^(source%s:\s*)(.+)$" % i, re.IGNORECASE)
|
|
||||||
new_line = "Source%s: %s" % (i, base_name)
|
|
||||||
replacements.append((source_regex, new_line))
|
|
||||||
|
|
||||||
# Replace version and release in spec:
|
|
||||||
version_regex = re.compile("^(version:\s*)(.+)$", re.IGNORECASE)
|
|
||||||
release_regex = re.compile("^(release:\s*)(.+)$", re.IGNORECASE)
|
|
||||||
|
|
||||||
(version, release) = self._get_version_and_release()
|
|
||||||
print("Building version: %s" % version)
|
|
||||||
print("Building release: %s" % release)
|
|
||||||
replacements.append((version_regex, "Version: %s\n" % version))
|
|
||||||
replacements.append((release_regex, "Release: %s\n" % release))
|
|
||||||
|
|
||||||
self.replace_in_spec(replacements)
|
|
||||||
|
|
||||||
# Copy every normal file in the directory we ran tito from. This
|
|
||||||
# will pick up any sources that were sitting around locally.
|
|
||||||
# TODO: how to copy only sources?
|
|
||||||
#files_in_src_dir = [f for f in os.listdir(self.start_dir) \
|
|
||||||
# if os.path.isfile(os.path.join(self.start_dir, f)) ]
|
|
||||||
#print files_in_src_dir
|
|
||||||
#for f in files_in_src_dir:
|
|
||||||
# shutil.copyfile(os.path.join(self.start_dir, f),
|
|
||||||
# os.path.join(self.rpmbuild_sourcedir, f))
|
|
||||||
# TODO: extract version/release from filename?
|
|
||||||
# TODO: what filename?
|
|
||||||
#cmd = "/usr/bin/spectool --list-files '%s' | awk '{print $2}' |xargs -l1 --no-run-if-empty basename " % self.spec_file
|
|
||||||
#result = run_command(cmd)
|
|
||||||
#self.sources = map(lambda x: os.path.join(self.rpmbuild_sourcedir, x), result.split("\n"))
|
|
||||||
|
|
||||||
def replace_in_spec(self, replacements):
|
def replace_in_spec(self, replacements):
|
||||||
"""
|
"""
|
||||||
Replace lines in the spec file using the given replacements.
|
Replace lines in the spec file using the given replacements.
|
||||||
|
@ -158,9 +214,5 @@ class ExternalSourceBuilder(ConfigObject, BuilderBase):
|
||||||
out_f.close()
|
out_f.close()
|
||||||
shutil.move(self.spec_file + ".new", self.spec_file)
|
shutil.move(self.spec_file + ".new", self.spec_file)
|
||||||
|
|
||||||
def _get_rpmbuild_dir_options(self):
|
|
||||||
return ('--define "_sourcedir %s" --define "_builddir %s" '
|
|
||||||
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
|
||||||
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
|
||||||
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
|
||||||
|
|
||||||
|
|
|
@ -47,9 +47,13 @@ class BuilderBase(object):
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
args=None, **kwargs):
|
args=None, **kwargs):
|
||||||
|
|
||||||
|
# Project directory where we started this build:
|
||||||
|
self.start_dir = os.getcwd()
|
||||||
|
|
||||||
self.project_name = name
|
self.project_name = name
|
||||||
self.user_config = user_config
|
self.user_config = user_config
|
||||||
self.args = args
|
self.args = args
|
||||||
|
self.kwargs = kwargs
|
||||||
|
|
||||||
# Optional keyword arguments:
|
# Optional keyword arguments:
|
||||||
self.dist = self._get_optional_arg(kwargs, 'dist', None)
|
self.dist = self._get_optional_arg(kwargs, 'dist', None)
|
||||||
|
@ -181,6 +185,7 @@ class BuilderBase(object):
|
||||||
'--define "_binary_filedigest_algorithm md5" %s %s %s --clean '
|
'--define "_binary_filedigest_algorithm md5" %s %s %s --clean '
|
||||||
'-ba %s' % (rpmbuild_options,
|
'-ba %s' % (rpmbuild_options,
|
||||||
self._get_rpmbuild_dir_options(), define_dist, self.spec_file))
|
self._get_rpmbuild_dir_options(), define_dist, self.spec_file))
|
||||||
|
debug(cmd)
|
||||||
try:
|
try:
|
||||||
output = run_command(cmd)
|
output = run_command(cmd)
|
||||||
except (KeyboardInterrupt, SystemExit):
|
except (KeyboardInterrupt, SystemExit):
|
||||||
|
@ -469,8 +474,9 @@ class Builder(ConfigObject, BuilderBase):
|
||||||
self.ran_setup_test_specfile = True
|
self.ran_setup_test_specfile = True
|
||||||
|
|
||||||
def _get_rpmbuild_dir_options(self):
|
def _get_rpmbuild_dir_options(self):
|
||||||
return ('--define "_sourcedir %s" --define "_builddir %s" --define '
|
return ('--define "_topdir %s" --define "_sourcedir %s" --define "_builddir %s" --define '
|
||||||
'"_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
'"_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
||||||
|
self.rpmbuild_dir,
|
||||||
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
||||||
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
||||||
|
|
||||||
|
@ -539,8 +545,9 @@ class NoTgzBuilder(Builder):
|
||||||
dir, use the git copy we create as the sources directory when
|
dir, use the git copy we create as the sources directory when
|
||||||
building package so everything can be found:
|
building package so everything can be found:
|
||||||
"""
|
"""
|
||||||
return ('--define "_sourcedir %s" --define "_builddir %s" '
|
return ('--define "_topdir %s" --define "_sourcedir %s" --define "_builddir %s" '
|
||||||
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
||||||
|
self.rpmbuild_dir,
|
||||||
self.rpmbuild_gitcopy, self.rpmbuild_builddir,
|
self.rpmbuild_gitcopy, self.rpmbuild_builddir,
|
||||||
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
||||||
|
|
||||||
|
@ -927,8 +934,9 @@ class UpstreamBuilder(NoTgzBuilder):
|
||||||
dir, use the git copy we create as the sources directory when
|
dir, use the git copy we create as the sources directory when
|
||||||
building package so everything can be found:
|
building package so everything can be found:
|
||||||
"""
|
"""
|
||||||
return ('--define "_sourcedir %s" --define "_builddir %s" '
|
return ('--define "_topdir %s" --define "_sourcedir %s" --define "_builddir %s" '
|
||||||
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
'--define "_srcrpmdir %s" --define "_rpmdir %s" ' % (
|
||||||
|
self.rpmbuild_dir,
|
||||||
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
self.rpmbuild_sourcedir, self.rpmbuild_builddir,
|
||||||
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
self.rpmbuild_basedir, self.rpmbuild_basedir))
|
||||||
|
|
||||||
|
|
64
test/functional/externalsrc_tests.py
Normal file
64
test/functional/externalsrc_tests.py
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008-2014 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This software is licensed to you under the GNU General Public License,
|
||||||
|
# version 2 (GPLv2). There is NO WARRANTY for this software, express or
|
||||||
|
# implied, including the implied warranties of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
|
||||||
|
# along with this software; if not, see
|
||||||
|
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
||||||
|
#
|
||||||
|
# Red Hat trademarks are not licensed under GPLv2. No permission is
|
||||||
|
# granted to use or replicate Red Hat trademarks that are incorporated
|
||||||
|
# in this software or its documentation.
|
||||||
|
"""
|
||||||
|
Functional Tests for the ExternalSource builder.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
from tito.common import run_command
|
||||||
|
from fixture import TitoGitTestFixture, tito
|
||||||
|
|
||||||
|
EXT_SRC_PKG = "extsrc"
|
||||||
|
|
||||||
|
class ExternalSourceBuilderTests(TitoGitTestFixture):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
TitoGitTestFixture.setUp(self)
|
||||||
|
self.pkg_dir = os.path.join(self.repo_dir, EXT_SRC_PKG)
|
||||||
|
spec = os.path.join(os.path.dirname(__file__), "specs/extsrc.spec")
|
||||||
|
self.create_project_from_spec(EXT_SRC_PKG, pkg_dir=self.pkg_dir,
|
||||||
|
spec=spec,
|
||||||
|
builder='tito.builder.ExternalSourceBuilder')
|
||||||
|
self.source_filename = 'extsrc-0.0.2.tar.gz'
|
||||||
|
os.chdir(self.pkg_dir)
|
||||||
|
|
||||||
|
# Make a fake source file, do we need something more real?
|
||||||
|
run_command('touch %s' % self.source_filename)
|
||||||
|
|
||||||
|
self.output_dir = tempfile.mkdtemp("-titotestoutput")
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
TitoGitTestFixture.tearDown(self)
|
||||||
|
#shutil.rmtree(self.output_dir)
|
||||||
|
|
||||||
|
def test_simple_build_no_tag(self):
|
||||||
|
# We have not tagged here. Build --rpm should just work:
|
||||||
|
self.assertFalse(os.path.exists(
|
||||||
|
os.path.join(self.pkg_dir, 'rel-eng/packages/extsrc')))
|
||||||
|
tito('build --rpm --output=%s --no-cleanup --source=%s --debug' %
|
||||||
|
(self.output_dir, self.source_filename))
|
||||||
|
self.assertTrue(os.path.exists(
|
||||||
|
os.path.join(self.output_dir, 'extsrc-0.0.2-1.fc20.src.rpm')))
|
||||||
|
self.assertTrue(os.path.exists(
|
||||||
|
os.path.join(self.output_dir, 'noarch/extsrc-0.0.2-1.fc20.noarch.rpm')))
|
||||||
|
|
||||||
|
def test_tag_rejected(self):
|
||||||
|
self.assertRaises(SystemExit, tito,
|
||||||
|
'build --tag=extsrc-0.0.1-1 --rpm --output=%s --source=%s' %
|
||||||
|
(self.output_dir, self.source_filename))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@ class TitoGitTestFixture(unittest.TestCase):
|
||||||
index.commit('Setting offline.')
|
index.commit('Setting offline.')
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
#shutil.rmtree(self.repo_dir)
|
shutil.rmtree(self.repo_dir)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def write_file(self, path, contents):
|
def write_file(self, path, contents):
|
||||||
|
|
|
@ -59,45 +59,6 @@ module Iteng
|
||||||
end
|
end
|
||||||
"""
|
"""
|
||||||
|
|
||||||
EXT_SRC_PKG = "extsrc"
|
|
||||||
|
|
||||||
class ExternalSourceBuilderTests(TitoGitTestFixture):
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
TitoGitTestFixture.setUp(self)
|
|
||||||
self.pkg_dir = os.path.join(self.repo_dir, EXT_SRC_PKG)
|
|
||||||
spec = os.path.join(os.path.dirname(__file__), "specs/extsrc.spec")
|
|
||||||
self.create_project_from_spec(EXT_SRC_PKG, pkg_dir=self.pkg_dir,
|
|
||||||
spec=spec,
|
|
||||||
builder='tito.builder.ExternalSourceBuilder')
|
|
||||||
self.source_filename = 'extsrc-0.0.2.tar.gz'
|
|
||||||
os.chdir(self.pkg_dir)
|
|
||||||
|
|
||||||
# Make a fake source file, do we need something more real?
|
|
||||||
run_command('touch %s' % self.source_filename)
|
|
||||||
|
|
||||||
self.output_dir = tempfile.mkdtemp("-titotestoutput")
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
TitoGitTestFixture.tearDown(self)
|
|
||||||
#shutil.rmtree(self.output_dir)
|
|
||||||
|
|
||||||
def test_simple_build_no_tag(self):
|
|
||||||
# We have not tagged here. Build --rpm should just work:
|
|
||||||
self.assertFalse(os.path.exists(
|
|
||||||
os.path.join(self.pkg_dir, 'rel-eng/packages/extsrc')))
|
|
||||||
tito('build --rpm --output=%s --no-cleanup --source=%s --debug' %
|
|
||||||
(self.output_dir, self.source_filename))
|
|
||||||
self.assertTrue(os.path.exists(
|
|
||||||
os.path.join(self.output_dir, 'extsrc-0.0.2-1.fc20.src.rpm')))
|
|
||||||
self.assertTrue(os.path.exists(
|
|
||||||
os.path.join(self.output_dir, 'noarch/extsrc-0.0.2-1.fc20.noarch.rpm')))
|
|
||||||
|
|
||||||
def test_tag_rejected(self):
|
|
||||||
self.assertRaises(SystemExit, tito,
|
|
||||||
'build --tag=extsrc-0.0.1-1 --rpm --output=%s --source=%s' %
|
|
||||||
(self.output_dir, self.source_filename))
|
|
||||||
|
|
||||||
|
|
||||||
class MultiProjectTests(TitoGitTestFixture):
|
class MultiProjectTests(TitoGitTestFixture):
|
||||||
|
|
||||||
|
@ -191,4 +152,3 @@ class MultiProjectTests(TitoGitTestFixture):
|
||||||
os.chdir(os.path.join(self.repo_dir, 'pkg1'))
|
os.chdir(os.path.join(self.repo_dir, 'pkg1'))
|
||||||
artifacts = tito('build --rpm')
|
artifacts = tito('build --rpm')
|
||||||
self.assertEquals(3, len(artifacts))
|
self.assertEquals(3, len(artifacts))
|
||||||
print artifacts
|
|
||||||
|
|
|
@ -61,21 +61,22 @@ class SingleProjectTests(TitoGitTestFixture):
|
||||||
def test_latest_tgz(self):
|
def test_latest_tgz(self):
|
||||||
tito("build --tgz -o %s" % self.repo_dir)
|
tito("build --tgz -o %s" % self.repo_dir)
|
||||||
|
|
||||||
def test_tag_tgz(self):
|
def test_build_tgz_tag(self):
|
||||||
tito("build --tgz --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
|
tito("build --tgz --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
|
||||||
self.repo_dir))
|
self.repo_dir))
|
||||||
self.assertTrue(os.path.exists(os.path.join(self.repo_dir,
|
self.assertTrue(os.path.exists(os.path.join(self.repo_dir,
|
||||||
"%s-0.0.1.tar.gz" % PKG_NAME)))
|
"%s-0.0.1.tar.gz" % PKG_NAME)))
|
||||||
|
|
||||||
def test_latest_srpm(self):
|
def test_build_latest_srpm(self):
|
||||||
tito("build --srpm")
|
tito("build --srpm")
|
||||||
|
|
||||||
def test_tag_srpm(self):
|
def test_build_srpm_tag(self):
|
||||||
tito("build --srpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME, self.repo_dir))
|
tito("build --srpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME, self.repo_dir))
|
||||||
|
|
||||||
def test_latest_rpm(self):
|
def test_build_latest_rpm(self):
|
||||||
tito("build --rpm -o %s" % self.repo_dir)
|
tito("build --rpm -o %s" % self.repo_dir)
|
||||||
|
|
||||||
def test_tag_rpm(self):
|
def test_build_rpm_tag(self):
|
||||||
tito("build --rpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
|
tito("build --rpm --tag=%s-0.0.1-1 -o %s" % (PKG_NAME,
|
||||||
self.repo_dir))
|
self.repo_dir))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue