|
461 | 461 | ("v1.0.0", "aa44a92d68014d0da98965c0c2cb8c07957d4362", "2019-03-01"),
|
462 | 462 | ("1.0.0b2", "aab33d13110f26604fb786878856ec0b9e5fc32b", "2019-01-18"),
|
463 | 463 | ("v1.0.0b1", "7c7e96b723c2aaa1aec3a52561f680adf0b60e97", "2019-01-17"),
|
| 464 | + ("user_def", "ed830019581c83ba633bfd734720e6758eca6061", "2019-01-10"), |
464 | 465 | ("v0.9.11", "c52eca6f74f844ab3ffbde61d98ef96071e132b7", "2018-12-17"),
|
465 | 466 | ("v0.9.10", "b3f89892222340150e32631ae6b7aab65230036f", "2018-09-22"),
|
466 | 467 | ("v0.9.9", "684e0259cc95c7c5e94854608cd3dcebbd53219e", "2018-09-22"),
|
@@ -645,9 +646,10 @@ def test_get_commit_tag_is_None(gitcommits, tags):
|
645 | 646 | },
|
646 | 647 | },
|
647 | 648 | {"version": "1.0.0b2", "date": "2019-01-18", "changes": {}},
|
| 649 | + {"version": "v1.0.0b1", "date": "2019-01-17", "changes": {}}, |
648 | 650 | {
|
649 |
| - "version": "v1.0.0b1", |
650 |
| - "date": "2019-01-17", |
| 651 | + "version": "user_def", |
| 652 | + "date": "2019-01-10", |
651 | 653 | "changes": {
|
652 | 654 | "feat": [
|
653 | 655 | {
|
@@ -813,31 +815,36 @@ def _filter_tree(tag_pattern: Pattern, tree: Iterable[Dict]) -> List[Dict[str, s
|
813 | 815 | return out
|
814 | 816 |
|
815 | 817 |
|
816 |
| -def test_generate_tree_from_commits(gitcommits, tags): |
817 |
| - parser = defaults.commit_parser |
818 |
| - changelog_pattern = defaults.bump_pattern |
819 |
| - tree = changelog.generate_tree_from_commits( |
820 |
| - gitcommits, tags, parser, changelog_pattern |
821 |
| - ) |
822 |
| - |
823 |
| - assert tuple(tree) == COMMITS_TREE |
824 |
| - |
825 |
| - |
826 |
| -def test_generate_tree_from_commits_release_filter(gitcommits, tags): |
| 818 | +@pytest.mark.parametrize( |
| 819 | + "tag_parser", |
| 820 | + [ |
| 821 | + (None), # backwards compatibility check |
| 822 | + (".*"), # default tag_parser |
| 823 | + (r"v[0-9]*\.[0-9]*\.[0-9]*"), # version filter |
| 824 | + ], |
| 825 | +) |
| 826 | +def test_generate_tree_from_commits(gitcommits, tags, tag_parser): |
827 | 827 | parser = defaults.commit_parser
|
828 | 828 | changelog_pattern = defaults.bump_pattern
|
829 | 829 |
|
830 |
| - # match release tags only |
831 |
| - tag_parser = r"v([0-9]+)\.([0-9]+)\.([0-9]+)" |
832 |
| - tag_pattern = re.compile(tag_parser) |
833 |
| - |
834 |
| - tree = changelog.generate_tree_from_commits( |
835 |
| - gitcommits, tags, parser, changelog_pattern, tag_pattern=tag_pattern |
836 |
| - ) |
837 |
| - |
838 |
| - expected_tree = _filter_tree(tag_pattern, COMMITS_TREE) |
| 830 | + # generate the tree and expected_tree |
| 831 | + if tag_parser is None: |
| 832 | + tree = changelog.generate_tree_from_commits( |
| 833 | + gitcommits, tags, parser, changelog_pattern |
| 834 | + ) |
| 835 | + # commits tree is unfiltered |
| 836 | + expected_tree = COMMITS_TREE |
| 837 | + else: |
| 838 | + tag_pattern = re.compile(tag_parser) |
| 839 | + tree = changelog.generate_tree_from_commits( |
| 840 | + gitcommits, tags, parser, changelog_pattern, tag_pattern=tag_pattern |
| 841 | + ) |
| 842 | + # filter the COMMITS_TREE to what we expect it to be |
| 843 | + expected_tree = _filter_tree(tag_pattern, COMMITS_TREE) |
839 | 844 |
|
840 |
| - assert list(tree) == expected_tree |
| 845 | + # compare the contents of each tree |
| 846 | + for outcome, expected in zip(tree, expected_tree): |
| 847 | + assert outcome == expected |
841 | 848 |
|
842 | 849 |
|
843 | 850 | @pytest.mark.parametrize(
|
|
0 commit comments