blob: 1ff6ac304da063dc005a52cc3e2d3c6472010f0b [file] [log] [blame]
Paul Duffin29072a92021-03-16 10:12:49 +00001// Copyright 2021 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package java
16
17import (
18 "testing"
19
20 "android/soong/android"
21)
22
23func TestPlatformCompatConfig(t *testing.T) {
Paul Duffin70d3bee2021-03-21 11:26:05 +000024 result := android.GroupFixturePreparers(
Paul Duffin29072a92021-03-16 10:12:49 +000025 PrepareForTestWithPlatformCompatConfig,
26 android.FixtureWithRootAndroidBp(`
27 platform_compat_config {
28 name: "myconfig2",
29 }
30 platform_compat_config {
31 name: "myconfig1",
32 }
33 platform_compat_config {
34 name: "myconfig3",
35 }
36 `),
Paul Duffin70d3bee2021-03-21 11:26:05 +000037 ).RunTest(t)
Paul Duffin29072a92021-03-16 10:12:49 +000038
39 checkMergedCompatConfigInputs(t, result, "myconfig",
40 "out/soong/.intermediates/myconfig1/myconfig1_meta.xml",
41 "out/soong/.intermediates/myconfig2/myconfig2_meta.xml",
42 "out/soong/.intermediates/myconfig3/myconfig3_meta.xml",
43 )
44}
45
46// Check that the merged file create by platform_compat_config_singleton has the correct inputs.
47func checkMergedCompatConfigInputs(t *testing.T, result *android.TestResult, message string, expectedPaths ...string) {
48 sourceGlobalCompatConfig := result.SingletonForTests("platform_compat_config_singleton")
49 allOutputs := sourceGlobalCompatConfig.AllOutputs()
50 android.AssertIntEquals(t, message+": output len", 1, len(allOutputs))
51 output := sourceGlobalCompatConfig.Output(allOutputs[0])
52 android.AssertPathsRelativeToTopEquals(t, message+": inputs", expectedPaths, output.Implicits)
53}