diff options
author | 2019-01-05 22:12:12 -0800 | |
---|---|---|
committer | 2019-01-05 22:36:13 -0800 | |
commit | 638149e6500288142c346920615066df40c856eb (patch) | |
tree | 90e9c3d8a1f00562a207003ee51a46d8a263cd8f /java/dexpreopt_test.go | |
parent | b77ffc48dc84053d76cb8f4b530b3862797b2228 (diff) |
Add dexpreopt enabled tests
Add tests that verify when dexpreopt is enabled or disabled.
Test: dexpreopt_test.go
Change-Id: Ideba9c0dac30eb31e7ae29e46d1d1590202b8369
Diffstat (limited to 'java/dexpreopt_test.go')
-rw-r--r-- | java/dexpreopt_test.go | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/java/dexpreopt_test.go b/java/dexpreopt_test.go new file mode 100644 index 000000000..5b5579983 --- /dev/null +++ b/java/dexpreopt_test.go @@ -0,0 +1,126 @@ +// Copyright 2018 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 TestDexpreoptEnabled(t *testing.T) { + tests := []struct { + name string + bp string + enabled bool + }{ + { + name: "app", + bp: ` + android_app { + name: "foo", + srcs: ["a.java"], + }`, + enabled: true, + }, + { + name: "installable java library", + bp: ` + java_library { + name: "foo", + installable: true, + srcs: ["a.java"], + }`, + enabled: true, + }, + { + name: "java binary", + bp: ` + java_binary { + name: "foo", + srcs: ["a.java"], + }`, + enabled: true, + }, + + { + name: "app without sources", + bp: ` + android_app { + name: "foo", + }`, + // TODO(ccross): this should probably be false + enabled: true, + }, + { + name: "installable java library without sources", + bp: ` + java_library { + name: "foo", + installable: true, + }`, + // TODO(ccross): this should probably be false + enabled: true, + }, + + { + name: "static java library", + bp: ` + java_library { + name: "foo", + srcs: ["a.java"], + }`, + enabled: false, + }, + { + name: "android test", + bp: ` + android_test { + name: "foo", + srcs: ["a.java"], + }`, + enabled: false, + }, + { + name: "android test helper app", + bp: ` + android_test_helper_app { + name: "foo", + srcs: ["a.java"], + }`, + enabled: false, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + ctx := testJava(t, test.bp) + + dexpreopt := ctx.ModuleForTests("foo", "android_common").MaybeDescription("dexpreopt") + enabled := dexpreopt.Rule != nil + + if enabled != test.enabled { + t.Fatalf("want dexpreopt %s, got %s", enabledString(test.enabled), enabledString(enabled)) + } + }) + + } +} + +func enabledString(enabled bool) string { + if enabled { + return "enabled" + } else { + return "disabled" + } +} |