diff options
author | 2017-12-19 13:57:50 -0800 | |
---|---|---|
committer | 2017-12-21 04:34:26 +0000 | |
commit | 7a3139e05d881dfde5ff291a1b075aa0aed5cd93 (patch) | |
tree | 5c7b8e7996a9274609e17f2b36e0e467bb1f5a1e /java/jacoco_test.go | |
parent | 828001d59df4e641208390607b5ac10ad30aa180 (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.go | 84 |
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) + } + }) + } +} |