// Copyright (C) 2023 The Android Open Source Project // // 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 api import ( "testing" "android/soong/android" "android/soong/bp2build" ) func runCombinedApisTestCaseWithRegistrationCtxFunc(t *testing.T, tc bp2build.Bp2buildTestCase, registrationCtxFunc func(ctx android.RegistrationContext)) { t.Helper() (&tc).ModuleTypeUnderTest = "combined_apis" (&tc).ModuleTypeUnderTestFactory = combinedApisModuleFactory bp2build.RunBp2BuildTestCase(t, registrationCtxFunc, tc) } func runCombinedApisTestCase(t *testing.T, tc bp2build.Bp2buildTestCase) { t.Helper() runCombinedApisTestCaseWithRegistrationCtxFunc(t, tc, func(ctx android.RegistrationContext) {}) } func TestCombinedApisGeneral(t *testing.T) { runCombinedApisTestCase(t, bp2build.Bp2buildTestCase{ Description: "combined_apis, general case", Blueprint: `combined_apis { name: "foo", bootclasspath: ["bcp"], system_server_classpath: ["ssc"], } `, ExpectedBazelTargets: []string{ bp2build.MakeBazelTargetNoRestrictions("merged_txts", "foo-current.txt", bp2build.AttrNameToString{ "scope": `"public"`, "base": `":non-updatable-current.txt__BP2BUILD__MISSING__DEP"`, "deps": `[":bcp__BP2BUILD__MISSING__DEP"]`, }), bp2build.MakeBazelTargetNoRestrictions("merged_txts", "foo-system-current.txt", bp2build.AttrNameToString{ "scope": `"system"`, "base": `":non-updatable-system-current.txt__BP2BUILD__MISSING__DEP"`, "deps": `[":bcp__BP2BUILD__MISSING__DEP"]`, }), bp2build.MakeBazelTargetNoRestrictions("merged_txts", "foo-module-lib-current.txt", bp2build.AttrNameToString{ "scope": `"module-lib"`, "base": `":non-updatable-module-lib-current.txt__BP2BUILD__MISSING__DEP"`, "deps": `[":bcp__BP2BUILD__MISSING__DEP"]`, }), bp2build.MakeBazelTargetNoRestrictions("merged_txts", "foo-system-server-current.txt", bp2build.AttrNameToString{ "scope": `"system-server"`, "base": `":non-updatable-system-server-current.txt__BP2BUILD__MISSING__DEP"`, "deps": `[":ssc__BP2BUILD__MISSING__DEP"]`, }), }, }) }