Enable cc_binary in mixed build.
Bug: 216114082 Test: Run mixed build on adbd apex and verify the pavkaged adbd binary; add unit test. Change-Id: Id11549a7952a7ce5ac02988b88b747bbfe8339ff Change-Id: If01efe076c223886278f466b65628602bff3a964
This commit is contained in:
51
cc/binary_test.go
Normal file
51
cc/binary_test.go
Normal file
@@ -0,0 +1,51 @@
|
||||
// Copyright 2022 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 cc
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"android/soong/android"
|
||||
)
|
||||
|
||||
func TestCcBinaryWithBazel(t *testing.T) {
|
||||
bp := `
|
||||
cc_binary {
|
||||
name: "foo",
|
||||
srcs: ["foo.cc"],
|
||||
bazel_module: { label: "//foo/bar:bar" },
|
||||
}`
|
||||
config := TestConfig(t.TempDir(), android.Android, nil, bp, nil)
|
||||
config.BazelContext = android.MockBazelContext{
|
||||
OutputBaseDir: "outputbase",
|
||||
LabelToOutputFiles: map[string][]string{
|
||||
"//foo/bar:bar": []string{"foo"},
|
||||
},
|
||||
}
|
||||
ctx := testCcWithConfig(t, config)
|
||||
|
||||
binMod := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module()
|
||||
producer := binMod.(android.OutputFileProducer)
|
||||
outputFiles, err := producer.OutputFiles("")
|
||||
if err != nil {
|
||||
t.Errorf("Unexpected error getting cc_binary outputfiles %s", err)
|
||||
}
|
||||
expectedOutputFiles := []string{"outputbase/execroot/__main__/foo"}
|
||||
android.AssertDeepEquals(t, "output files", expectedOutputFiles, outputFiles.Strings())
|
||||
|
||||
unStrippedFilePath := binMod.(*Module).UnstrippedOutputFile()
|
||||
expectedUnStrippedFile := "outputbase/execroot/__main__/foo"
|
||||
android.AssertStringEquals(t, "Unstripped output file", expectedUnStrippedFile, unStrippedFilePath.String())
|
||||
}
|
Reference in New Issue
Block a user