summaryrefslogtreecommitdiff
path: root/java/jacoco_test.go
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2017-12-19 13:57:50 -0800
committer Colin Cross <ccross@android.com> 2017-12-21 04:34:26 +0000
commit7a3139e05d881dfde5ff291a1b075aa0aed5cd93 (patch)
tree5c7b8e7996a9274609e17f2b36e0e467bb1f5a1e /java/jacoco_test.go
parent828001d59df4e641208390607b5ac10ad30aa180 (diff)
Add jacoco filter tests
Add tests for converting jacoco filters to command line arguments to soong_zip. Bug: 64836607 Test: jacoco_test.go Change-Id: I969fa877e4be19bb92dcab5a796a4e4ec3fc166a
Diffstat (limited to 'java/jacoco_test.go')
-rw-r--r--java/jacoco_test.go84
1 files changed, 84 insertions, 0 deletions
diff --git a/java/jacoco_test.go b/java/jacoco_test.go
new file mode 100644
index 000000000..832101712
--- /dev/null
+++ b/java/jacoco_test.go
@@ -0,0 +1,84 @@
+// Copyright 2017 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package java
+
+import "testing"
+
+func TestJacocoFilterToSpecs(t *testing.T) {
+ testCases := []struct {
+ name, in, out string
+ }{
+ {
+ name: "class wildcard",
+ in: "package.Class*",
+ out: "package/Class*.class",
+ },
+ {
+ name: "package wildcard",
+ in: "package.*",
+ out: "package/**/*.class",
+ },
+ {
+ name: "all wildcard",
+ in: "*",
+ out: "**/*.class",
+ },
+ }
+
+ for _, testCase := range testCases {
+ t.Run(testCase.name, func(t *testing.T) {
+ got, err := jacocoFilterToSpec(testCase.in)
+ if err != nil {
+ t.Error(err)
+ }
+ if got != testCase.out {
+ t.Errorf("expected %q got %q", testCase.out, got)
+ }
+ })
+ }
+}
+
+func TestJacocoFiltersToZipCommand(t *testing.T) {
+ testCases := []struct {
+ name string
+ includes, excludes []string
+ out string
+ }{
+ {
+ name: "implicit wildcard",
+ includes: []string{},
+ out: "**/*.class",
+ },
+ {
+ name: "only include",
+ includes: []string{"package/Class.class"},
+ out: "package/Class.class",
+ },
+ {
+ name: "multiple includes",
+ includes: []string{"package/Class.class", "package2/Class.class"},
+ out: "package/Class.class package2/Class.class",
+ },
+ }
+
+ for _, testCase := range testCases {
+ t.Run(testCase.name, func(t *testing.T) {
+ got := jacocoFiltersToZipCommand(testCase.includes, testCase.excludes)
+ if got != testCase.out {
+ t.Errorf("expected %q got %q", testCase.out, got)
+ }
+ })
+ }
+}