# Copyright 2021 Google LLC # # 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 # # https://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. # Run test configuration and verify its result. # The main configuration file is device.rbc. # It inherits part1.rbc and also includes include1.rbc # TODO(asmundak): more tests are needed to verify that: # * multi-level inheritance works as expected # * all runtime functions (wildcard, regex, etc.) work load("//build/make/core:product_config.rbc", "rblf") load(":device.rbc", "init") def assert_eq(expected, actual): if expected != actual: fail("Expected %s, got %s" % (expected, actual)) globals, config = rblf.product_configuration("test/device", init) assert_eq( { "PRODUCT_COPY_FILES": [ "part_from:part_to", "device_from:device_to", "device/google/redfin/audio/audio_platform_info_noextcodec_snd.xml:||VENDOR-PATH-PH||/etc/audio_platform_info_noextcodec_snd.xml", "xyz" ], "PRODUCT_HOST_PACKAGES": ["host"], "PRODUCT_PACKAGES": [ "dev", "inc", "dev_after" ], "PRODUCT_PRODUCT_PROPERTIES": ["part_properties"] }, { k:v for k, v in sorted(config.items()) } )