xref: /aosp_15_r20/build/soong/cc/cc_preprocess_no_configuration_test.go (revision 333d2b3687b3a337dbcca9d65000bca186795e39)
1// Copyright 2019 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 cc
16
17import (
18	"android/soong/android"
19	"testing"
20)
21
22func TestCcPreprocessNoConfiguration(t *testing.T) {
23	bp := `
24	cc_preprocess_no_configuration {
25		name: "foo",
26		srcs: ["main.cc"],
27		cflags: ["-E", "-DANDROID"],
28	}
29	`
30
31	fixture := android.GroupFixturePreparers(
32		android.PrepareForIntegrationTestWithAndroid,
33		android.FixtureRegisterWithContext(RegisterCCPreprocessNoConfiguration),
34		android.FixtureAddTextFile("foo/bar/Android.bp", bp),
35	)
36
37	result := fixture.RunTest(t)
38
39	foo := result.ModuleForTests("foo", "")
40	actual := foo.Rule("cc").Args["cFlags"]
41	expected := "-E -DANDROID -Ifoo/bar"
42	android.AssertStringEquals(t, "cflags should be correct", expected, actual)
43}
44