use Config instead of individual args with parameters
Instead of passing an increasing number of arguments around through the system, set up the Config instance correctly and use it. Also make the reporoot a required argument for Config, and let the release note subdirectory be an optional argument with a default. Change-Id: I5fc6358bb496f44e3fd68c89ad71b06067dd7425 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
0355be32b4
commit
c022901e2e
@ -17,16 +17,10 @@ import yaml
|
||||
|
||||
from reno import loader
|
||||
from reno import scanner
|
||||
from reno import utils
|
||||
|
||||
|
||||
def build_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
versions_to_include, earliest_version):
|
||||
notes = scanner.get_notes_by_version(
|
||||
reporoot, notesdir, branch,
|
||||
collapse_pre_releases=collapse_pre_releases,
|
||||
earliest_version=earliest_version,
|
||||
)
|
||||
def build_cache_db(conf, versions_to_include):
|
||||
notes = scanner.get_notes_by_version(conf)
|
||||
|
||||
# Default to including all versions returned by the scanner.
|
||||
if not versions_to_include:
|
||||
@ -38,7 +32,7 @@ def build_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
for version in versions_to_include:
|
||||
for filename, sha in notes[version]:
|
||||
body = scanner.get_file_at_commit(
|
||||
reporoot,
|
||||
conf.reporoot,
|
||||
filename,
|
||||
sha,
|
||||
)
|
||||
@ -60,8 +54,7 @@ def build_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
return cache
|
||||
|
||||
|
||||
def write_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
versions_to_include, earliest_version,
|
||||
def write_cache_db(conf, versions_to_include,
|
||||
outfilename=None):
|
||||
"""Create a cache database file for the release notes data.
|
||||
|
||||
@ -82,19 +75,15 @@ def write_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
stream = open(outfilename, 'w')
|
||||
close_stream = True
|
||||
else:
|
||||
outfilename = loader.get_cache_filename(reporoot, notesdir)
|
||||
outfilename = loader.get_cache_filename(conf.reporoot, conf.notespath)
|
||||
if not os.path.exists(os.path.dirname(outfilename)):
|
||||
os.makedirs(os.path.dirname(outfilename))
|
||||
stream = open(outfilename, 'w')
|
||||
close_stream = True
|
||||
try:
|
||||
cache = build_cache_db(
|
||||
reporoot=reporoot,
|
||||
notesdir=notesdir,
|
||||
branch=branch,
|
||||
collapse_pre_releases=collapse_pre_releases,
|
||||
conf,
|
||||
versions_to_include=versions_to_include,
|
||||
earliest_version=earliest_version,
|
||||
)
|
||||
yaml.safe_dump(
|
||||
cache,
|
||||
@ -110,15 +99,9 @@ def write_cache_db(reporoot, notesdir, branch, collapse_pre_releases,
|
||||
|
||||
def cache_cmd(args, conf):
|
||||
"Generates a release notes cache"
|
||||
reporoot = conf.reporoot
|
||||
notesdir = utils.get_notes_dir(conf)
|
||||
write_cache_db(
|
||||
reporoot=reporoot,
|
||||
notesdir=notesdir,
|
||||
branch=conf.branch,
|
||||
collapse_pre_releases=conf.collapse_pre_releases,
|
||||
conf=conf,
|
||||
versions_to_include=args.version,
|
||||
earliest_version=conf.earliest_version,
|
||||
outfilename=args.output,
|
||||
)
|
||||
return
|
||||
|
@ -14,6 +14,8 @@ import os.path
|
||||
|
||||
import yaml
|
||||
|
||||
from reno import defaults
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@ -22,9 +24,6 @@ class Config(object):
|
||||
_FILENAME = 'config.yaml'
|
||||
|
||||
_OPTS = {
|
||||
# The root directory of the git repository to scan.
|
||||
'reporoot': './',
|
||||
|
||||
# The notes subdirectory within the relnotesdir where the
|
||||
# notes live.
|
||||
'notesdir': 'notes',
|
||||
@ -51,18 +50,23 @@ class Config(object):
|
||||
except KeyError:
|
||||
raise ValueError('unknown option name %r' % (opt,))
|
||||
|
||||
def __init__(self, relnotesdir):
|
||||
def __init__(self, reporoot, relnotesdir=defaults.RELEASE_NOTES_SUBDIR):
|
||||
"""Instantiate a Config object
|
||||
|
||||
:param str reporoot:
|
||||
The root directory of the repository.
|
||||
:param str relnotesdir:
|
||||
The directory containing release notes.
|
||||
The directory containing release notes. Defaults to
|
||||
'releasenotes'.
|
||||
|
||||
"""
|
||||
self.reporoot = reporoot
|
||||
self.relnotesdir = relnotesdir
|
||||
# Initialize attributes from the defaults.
|
||||
self.override(**self._OPTS)
|
||||
|
||||
self._filename = os.path.join(relnotesdir, self._FILENAME)
|
||||
self._filename = os.path.join(self.reporoot, relnotesdir,
|
||||
self._FILENAME)
|
||||
self._contents = {}
|
||||
self._load_file()
|
||||
|
||||
|
@ -23,14 +23,7 @@ def list_cmd(args, conf):
|
||||
"List notes files based on query arguments"
|
||||
LOG.debug('starting list')
|
||||
reporoot = conf.reporoot
|
||||
collapse = conf.collapse_pre_releases
|
||||
ldr = loader.Loader(
|
||||
reporoot=reporoot,
|
||||
branch=conf.branch,
|
||||
collapse_pre_releases=collapse,
|
||||
earliest_version=conf.earliest_version,
|
||||
conf=conf,
|
||||
)
|
||||
ldr = loader.Loader(conf)
|
||||
if args.version:
|
||||
versions = args.version
|
||||
else:
|
||||
|
@ -28,11 +28,8 @@ def get_cache_filename(reporoot, notesdir):
|
||||
class Loader(object):
|
||||
"Load the release notes for a given repository."
|
||||
|
||||
def __init__(self, reporoot, branch=None,
|
||||
collapse_pre_releases=True,
|
||||
earliest_version=None,
|
||||
ignore_cache=False,
|
||||
conf=None):
|
||||
def __init__(self, conf,
|
||||
ignore_cache=False):
|
||||
"""Initialize a Loader.
|
||||
|
||||
The versions are presented in reverse chronological order.
|
||||
@ -40,31 +37,24 @@ class Loader(object):
|
||||
Notes files are associated with the earliest version for which
|
||||
they were available, regardless of whether they changed later.
|
||||
|
||||
:param reporoot: Path to the root of the git repository.
|
||||
:type reporoot: str
|
||||
:param branch: The name of the branch to scan. Defaults to current.
|
||||
:type branch: str
|
||||
:param collapse_pre_releases: When true, merge pre-release versions
|
||||
into the final release, if it is present.
|
||||
:type collapse_pre_releases: bool
|
||||
:param earliest_version: The oldest version to include.
|
||||
:type earliest_version: str
|
||||
:param ignore_cache: Do not load a cache file if it is present.
|
||||
:type ignore_cache: bool
|
||||
:param conf: Parsed configuration from file
|
||||
:type conf: reno.config.Config
|
||||
:param ignore_cache: Do not load a cache file if it is present.
|
||||
:type ignore_cache: bool
|
||||
"""
|
||||
self._reporoot = reporoot
|
||||
self._notespath = conf.notespath
|
||||
self._branch = branch
|
||||
self._config = conf
|
||||
self._collapse_pre_releases = self._config.collapse_pre_releases
|
||||
self._earliest_version = self._config.earliest_version
|
||||
self._ignore_cache = ignore_cache
|
||||
|
||||
self._reporoot = conf.reporoot
|
||||
self._notespath = conf.notespath
|
||||
self._branch = conf.branch
|
||||
self._collapse_pre_releases = conf.collapse_pre_releases
|
||||
self._earliest_version = conf.earliest_version
|
||||
|
||||
self._cache = None
|
||||
self._scanner_output = None
|
||||
self._cache_filename = get_cache_filename(reporoot, self._notespath)
|
||||
self._cache_filename = get_cache_filename(self._reporoot,
|
||||
self._notespath)
|
||||
|
||||
self._load_data()
|
||||
|
||||
@ -85,13 +75,7 @@ class Loader(object):
|
||||
for n in self._cache['notes']
|
||||
}
|
||||
else:
|
||||
self._scanner_output = scanner.get_notes_by_version(
|
||||
reporoot=self._reporoot,
|
||||
notesdir=self._notespath,
|
||||
branch=self._branch,
|
||||
collapse_pre_releases=self._collapse_pre_releases,
|
||||
earliest_version=self._earliest_version,
|
||||
)
|
||||
self._scanner_output = scanner.get_notes_by_version(self._config)
|
||||
|
||||
@property
|
||||
def versions(self):
|
||||
|
@ -136,7 +136,7 @@ def main(argv=sys.argv[1:]):
|
||||
do_cache.set_defaults(func=cache.cache_cmd)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
conf = config.Config(args.relnotesdir)
|
||||
conf = config.Config(args.reporoot, args.relnotesdir)
|
||||
conf.override_from_parsed_args(args)
|
||||
|
||||
logging.basicConfig(
|
||||
|
@ -18,15 +18,7 @@ from reno import loader
|
||||
|
||||
def report_cmd(args, conf):
|
||||
"Generates a release notes report"
|
||||
reporoot = conf.reporoot
|
||||
collapse = conf.collapse_pre_releases
|
||||
ldr = loader.Loader(
|
||||
reporoot=reporoot,
|
||||
branch=conf.branch,
|
||||
collapse_pre_releases=collapse,
|
||||
earliest_version=conf.earliest_version,
|
||||
conf=conf,
|
||||
)
|
||||
ldr = loader.Loader(conf)
|
||||
if args.version:
|
||||
versions = args.version
|
||||
else:
|
||||
|
@ -149,9 +149,7 @@ def _get_version_tags_on_branch(reporoot, branch):
|
||||
return tags
|
||||
|
||||
|
||||
def get_notes_by_version(reporoot, notesdir, branch=None,
|
||||
collapse_pre_releases=True,
|
||||
earliest_version=None):
|
||||
def get_notes_by_version(conf):
|
||||
"""Return an OrderedDict mapping versions to lists of notes files.
|
||||
|
||||
The versions are presented in reverse chronological order.
|
||||
@ -161,15 +159,12 @@ def get_notes_by_version(reporoot, notesdir, branch=None,
|
||||
|
||||
:param reporoot: Path to the root of the git repository.
|
||||
:type reporoot: str
|
||||
:param notesdir: The directory under *reporoot* with the release notes.
|
||||
:type notesdir: str
|
||||
:param branch: The name of the branch to scan. Defaults to current.
|
||||
:type branch: str
|
||||
:param collapse_pre_releases: When true, merge pre-release versions
|
||||
into the final release, if it is present.
|
||||
:type collapse_pre_releases: bool
|
||||
"""
|
||||
|
||||
reporoot = conf.reporoot
|
||||
notesdir = conf.notespath
|
||||
branch = conf.branch
|
||||
|
||||
LOG.debug('scanning %s/%s (branch=%s)' % (reporoot, notesdir, branch))
|
||||
|
||||
# Determine all of the tags known on the branch, in their date
|
||||
@ -324,7 +319,7 @@ def get_notes_by_version(reporoot, notesdir, branch=None,
|
||||
|
||||
# Combine pre-releases into the final release, if we are told to
|
||||
# and the final release exists.
|
||||
if collapse_pre_releases:
|
||||
if conf.collapse_pre_releases:
|
||||
collapsing = files_and_tags
|
||||
files_and_tags = collections.OrderedDict()
|
||||
for ov in versions_by_date:
|
||||
@ -370,7 +365,7 @@ def get_notes_by_version(reporoot, notesdir, branch=None,
|
||||
trimmed[ov] = sorted(files_and_tags[ov])
|
||||
# If we have been told to stop at a version, we can do that
|
||||
# now.
|
||||
if earliest_version and ov == earliest_version:
|
||||
if conf.earliest_version and ov == conf.earliest_version:
|
||||
break
|
||||
|
||||
LOG.debug('[reno] found %d versions and %d files',
|
||||
|
@ -51,10 +51,8 @@ class ReleaseNotesDirective(rst.Directive):
|
||||
reporoot = os.path.abspath(reporoot_opt)
|
||||
relnotessubdir = self.options.get('relnotessubdir',
|
||||
defaults.RELEASE_NOTES_SUBDIR)
|
||||
conf = config.Config(relnotessubdir)
|
||||
opt_overrides = {
|
||||
'reporoot': reporoot,
|
||||
}
|
||||
conf = config.Config(reporoot, relnotessubdir)
|
||||
opt_overrides = {}
|
||||
if 'notesdir' in self.options:
|
||||
opt_overrides['notesdir'] = self.options.get('notesdir')
|
||||
version_opt = self.options.get('version')
|
||||
@ -72,13 +70,7 @@ class ReleaseNotesDirective(rst.Directive):
|
||||
(os.path.join(conf.reporoot, notesdir),
|
||||
branch or 'current branch'))
|
||||
|
||||
ldr = loader.Loader(
|
||||
reporoot=conf.reporoot,
|
||||
branch=branch,
|
||||
collapse_pre_releases=conf.collapse_pre_releases,
|
||||
earliest_version=conf.earliest_version,
|
||||
conf=conf,
|
||||
)
|
||||
ldr = loader.Loader(conf)
|
||||
if version_opt is not None:
|
||||
versions = [
|
||||
v.strip()
|
||||
|
@ -18,6 +18,7 @@ import mock
|
||||
from oslotest import mockpatch
|
||||
|
||||
from reno import cache
|
||||
from reno import config
|
||||
from reno.tests import base
|
||||
|
||||
|
||||
@ -53,17 +54,14 @@ class TestCache(base.TestCase):
|
||||
mockpatch.Patch('reno.scanner.get_file_at_commit',
|
||||
new=self._get_note_body)
|
||||
)
|
||||
self.c = config.Config('.')
|
||||
|
||||
def test_build_cache_db(self):
|
||||
with mock.patch('reno.scanner.get_notes_by_version') as gnbv:
|
||||
gnbv.return_value = self.scanner_output
|
||||
db = cache.build_cache_db(
|
||||
reporoot=None,
|
||||
notesdir=None,
|
||||
branch=None,
|
||||
collapse_pre_releases=True,
|
||||
self.c,
|
||||
versions_to_include=[],
|
||||
earliest_version=None,
|
||||
)
|
||||
expected = {
|
||||
'notes': [
|
||||
|
@ -78,7 +78,10 @@ collapse_pre_releases: false
|
||||
self.assertEqual(1, logger.call_count)
|
||||
|
||||
def test_load_file(self):
|
||||
config_path = self.tempdir.join(config.Config._FILENAME)
|
||||
rn_path = self.tempdir.join('releasenotes')
|
||||
os.mkdir(rn_path)
|
||||
config_path = self.tempdir.join('releasenotes/' +
|
||||
config.Config._FILENAME)
|
||||
with open(config_path, 'w') as fd:
|
||||
fd.write(self.EXAMPLE_CONFIG)
|
||||
self.addCleanup(os.unlink, config_path)
|
||||
|
@ -59,14 +59,12 @@ class TestFormatter(base.TestCase):
|
||||
'file-contents': self.note_bodies
|
||||
}
|
||||
|
||||
self.c = config.Config('reporoot')
|
||||
|
||||
with mock.patch('reno.loader.Loader._load_data', _load):
|
||||
self.ldr = loader.Loader(
|
||||
reporoot='reporoot',
|
||||
branch=None,
|
||||
collapse_pre_releases=None,
|
||||
earliest_version=None,
|
||||
self.c,
|
||||
ignore_cache=False,
|
||||
conf=config.Config('reporoot/releasenotes'),
|
||||
)
|
||||
|
||||
def test_with_title(self):
|
||||
|
@ -41,6 +41,7 @@ class TestValidate(base.TestCase):
|
||||
level=logging.WARNING,
|
||||
)
|
||||
)
|
||||
self.c = config.Config('reporoot')
|
||||
|
||||
def _make_loader(self, note_bodies):
|
||||
def _load(ldr):
|
||||
@ -51,12 +52,8 @@ class TestValidate(base.TestCase):
|
||||
|
||||
with mock.patch('reno.loader.Loader._load_data', _load):
|
||||
return loader.Loader(
|
||||
reporoot='reporoot',
|
||||
branch=None,
|
||||
collapse_pre_releases=None,
|
||||
earliest_version=None,
|
||||
self.c,
|
||||
ignore_cache=False,
|
||||
conf=config.Config('reporoot/releasenotes'),
|
||||
)
|
||||
|
||||
def test_prelude_list(self):
|
||||
|
@ -23,6 +23,7 @@ import fixtures
|
||||
import mock
|
||||
from testtools.content import text_content
|
||||
|
||||
from reno import config
|
||||
from reno import create
|
||||
from reno import scanner
|
||||
from reno.tests import base
|
||||
@ -179,10 +180,7 @@ class Base(base.TestCase):
|
||||
self.useFixture(fixtures.NestedTempfile())
|
||||
self.temp_dir = self.useFixture(fixtures.TempDir()).path
|
||||
self.reporoot = os.path.join(self.temp_dir, 'reporoot')
|
||||
self.notesdir = os.path.join(self.reporoot,
|
||||
'releasenotes',
|
||||
'notes',
|
||||
)
|
||||
self.c = config.Config(self.reporoot)
|
||||
self._git_setup()
|
||||
self._counter = itertools.count(1)
|
||||
self.get_note_num = lambda: next(self._counter)
|
||||
@ -192,10 +190,7 @@ class BasicTest(Base):
|
||||
|
||||
def test_non_python_no_tags(self):
|
||||
filename = self._add_notes_file()
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -208,10 +203,7 @@ class BasicTest(Base):
|
||||
def test_python_no_tags(self):
|
||||
self._make_python_package()
|
||||
filename = self._add_notes_file()
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -225,10 +217,7 @@ class BasicTest(Base):
|
||||
filename = self._add_notes_file()
|
||||
self._add_other_file('not-a-release-note.txt')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -241,10 +230,7 @@ class BasicTest(Base):
|
||||
def test_note_commit_tagged(self):
|
||||
filename = self._add_notes_file()
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -258,10 +244,7 @@ class BasicTest(Base):
|
||||
self._make_python_package()
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
filename = self._add_notes_file()
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -276,10 +259,7 @@ class BasicTest(Base):
|
||||
self._add_other_file('ignore-1.txt')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
self._add_other_file('ignore-2.txt')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -294,10 +274,7 @@ class BasicTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
f1 = self._add_notes_file()
|
||||
f2 = self._add_notes_file()
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -312,10 +289,7 @@ class BasicTest(Base):
|
||||
f1 = self._add_notes_file(commit=False)
|
||||
f2 = self._add_notes_file()
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -331,10 +305,7 @@ class BasicTest(Base):
|
||||
f1 = self._add_notes_file()
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '2.0.0')
|
||||
f2 = self._add_notes_file()
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -354,10 +325,7 @@ class BasicTest(Base):
|
||||
f2 = f1.replace('slug1', 'slug2')
|
||||
self._run_git('mv', f1, f2)
|
||||
self._git_commit('rename note file')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -376,10 +344,7 @@ class BasicTest(Base):
|
||||
f2 = f1.replace('slug1', 'slug0')
|
||||
self._run_git('mv', f1, f2)
|
||||
self._git_commit('rename note file')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -398,10 +363,7 @@ class BasicTest(Base):
|
||||
with open(os.path.join(self.reporoot, f1), 'w') as f:
|
||||
f.write('---\npreamble: new contents for file')
|
||||
self._git_commit('edit note file')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -420,10 +382,7 @@ class BasicTest(Base):
|
||||
f2 = f1.replace('slug1', 'slug2')
|
||||
self._run_git('mv', f1, f2)
|
||||
self._git_commit('rename note file')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -445,10 +404,7 @@ class BasicTest(Base):
|
||||
'slug1-0000000000000001')
|
||||
self._run_git('mv', f1, f2)
|
||||
self._git_commit('rename note file')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -467,11 +423,10 @@ class BasicTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'middle tag', '2.0.0')
|
||||
f3 = self._add_notes_file()
|
||||
self._run_git('tag', '-s', '-m', 'last tag', '3.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
self.c.override(
|
||||
earliest_version='2.0.0',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -491,10 +446,7 @@ class BasicTest(Base):
|
||||
self._run_git('rm', f1)
|
||||
self._git_commit('remove note file')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '2.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -516,10 +468,7 @@ class BasicTest(Base):
|
||||
self._git_commit('remove note file')
|
||||
f3 = self._add_notes_file('slug3')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '2.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -538,10 +487,7 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0a1')
|
||||
f1 = self._add_notes_file('slug1')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0a2')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -557,10 +503,7 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0b1')
|
||||
f1 = self._add_notes_file('slug1')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0b2')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -576,10 +519,7 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0rc1')
|
||||
f1 = self._add_notes_file('slug1')
|
||||
self._run_git('tag', '-s', '-m', 'first tag', '1.0.0.0rc2')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -601,11 +541,10 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'release candidate tag', '1.0.0.0rc1')
|
||||
files.append(self._add_notes_file('slug4'))
|
||||
self._run_git('tag', '-s', '-m', 'full release tag', '1.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
self.c.override(
|
||||
collapse_pre_releases=True,
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -624,11 +563,10 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'beta tag', '1.0.0.0b1')
|
||||
f3 = self._add_notes_file('slug3')
|
||||
self._run_git('tag', '-s', '-m', 'release candidate tag', '1.0.0.0rc1')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
self.c.override(
|
||||
collapse_pre_releases=True,
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -650,11 +588,10 @@ class PreReleaseTest(Base):
|
||||
self._run_git('tag', '-s', '-m', 'beta tag', '1.0.0.0b1')
|
||||
f3 = self._add_notes_file('slug3')
|
||||
self._run_git('tag', '-s', '-m', 'release candidate tag', '1.0.0.0rc1')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
self.c.override(
|
||||
collapse_pre_releases=True,
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -682,10 +619,7 @@ class MergeCommitTest(Base):
|
||||
self._run_git('merge', '--no-ff', 'test_merge_commit')
|
||||
self._add_other_file('ignore-2.txt')
|
||||
self._run_git('tag', '-s', '-m', 'second tag', '2.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -713,10 +647,7 @@ class MergeCommitTest(Base):
|
||||
self._run_git('merge', '--no-ff', 'test_merge_commit')
|
||||
self._add_other_file('ignore-2.txt')
|
||||
self._run_git('tag', '-s', '-m', 'second tag', '2.0.0')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -748,10 +679,7 @@ class MergeCommitTest(Base):
|
||||
self._add_other_file('ignore-2.txt')
|
||||
self._run_git('tag', '-s', '-m', 'third tag', '2.0.0')
|
||||
self._add_other_file('ignore-3.txt')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -787,10 +715,7 @@ class MergeCommitTest(Base):
|
||||
self._add_other_file('ignore-2.txt')
|
||||
self._run_git('tag', '-s', '-m', 'third tag', '2.0.0')
|
||||
self._add_other_file('ignore-3.txt')
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -840,10 +765,7 @@ class BranchTest(Base):
|
||||
f21 = self._add_notes_file('slug21')
|
||||
log_text = self._run_git('log')
|
||||
self.addDetail('git log', text_content(log_text))
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
@ -865,11 +787,10 @@ class BranchTest(Base):
|
||||
log_text = self._run_git('log', '--pretty=%x00%H %d', '--name-only',
|
||||
'stable/2')
|
||||
self.addDetail('git log', text_content(log_text))
|
||||
raw_results = scanner.get_notes_by_version(
|
||||
self.reporoot,
|
||||
'releasenotes/notes',
|
||||
'stable/2',
|
||||
self.c.override(
|
||||
branch='stable/2',
|
||||
)
|
||||
raw_results = scanner.get_notes_by_version(self.c)
|
||||
results = {
|
||||
k: [f for (f, n) in v]
|
||||
for (k, v) in raw_results.items()
|
||||
|
Loading…
x
Reference in New Issue
Block a user