Skip to content

Commit 412b4c7

Browse files
committed
Support creating filter_set from existing patch_config
1 parent 1ad4d24 commit 412b4c7

File tree

4 files changed

+25
-4
lines changed

4 files changed

+25
-4
lines changed

lib/pmdtester/builders/rule_set_builder.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ def build
3333
rule_refs
3434
end
3535

36+
def calculate_filter_set
37+
output_filter_set(ALL_CATEGORIES)
38+
end
39+
3640
def output_filter_set(rule_refs)
3741
if rule_refs == ALL_CATEGORIES
3842
if @options.mode == Options::ONLINE

pmdtester.gemspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# DO NOT EDIT THIS FILE. Instead, edit Rakefile, and run `rake hoe:spec`.
22

33
# -*- encoding: utf-8 -*-
4-
# stub: pmdtester 1.1.2 ruby lib
4+
# stub: pmdtester 1.2.0.pre.SNAPSHOT ruby lib
55

66
Gem::Specification.new do |s|
77
s.name = "pmdtester".freeze
8-
s.version = "1.1.2"
8+
s.version = "1.2.0.pre.SNAPSHOT"
99

10-
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version=
1111
s.metadata = { "bug_tracker_uri" => "https://github.com/pmd/pmd-regression-tester/issues", "homepage_uri" => "https://pmd.github.io", "source_code_uri" => "https://github.com/pmd/pmd-regression-tester" } if s.respond_to? :metadata=
1212
s.require_paths = ["lib".freeze]
1313
s.authors = ["Andreas Dangel".freeze, "Binguo Bao".freeze, "Cl\u00E9ment Fournier".freeze]
14-
s.date = "2021-04-20"
14+
s.date = "2021-06-17"
1515
s.description = "A regression testing tool ensure that new problems and unexpected behaviors will not be introduced to PMD project after fixing an issue , and new rules can work as expected.".freeze
1616
s.email = ["[email protected]".freeze, "[email protected]".freeze, "[email protected]".freeze]
1717
s.executables = ["pmdtester".freeze]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd" name="Dynamic PmdTester Ruleset">
3+
<description>The ruleset generated by PmdTester dynamically</description>
4+
<rule ref="category/java/performance.xml/ConsecutiveLiteralAppends"/>
5+
</ruleset>

test/test_rule_set_builder.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,16 @@ def test_filter_ruleset_single_rule_and_category_duplicated
104104
actual = File.read(RuleSetBuilder::PATH_TO_DYNAMIC_CONFIG)
105105
assert_equal(expected, actual)
106106
end
107+
108+
def test_filter_ruleset_based_on_patch_config
109+
options = Options.new(['--mode', 'online',
110+
'--patch-config', "#{PATH_TO_TEST_RESOURCES}/patch-ruleset.xml",
111+
'--patch-branch', 'test_filter_ruleset_based_on_patch_branch',
112+
'--base-branch', 'main',
113+
'--local-git-repo', 'target/repositories/pmd',
114+
'--debug'])
115+
RuleSetBuilder.new(options).calculate_filter_set
116+
117+
assert_equal(Set['performance.xml/ConsecutiveLiteralAppends'], options.filter_set)
118+
end
107119
end

0 commit comments

Comments
 (0)