summaryrefslogtreecommitdiff
path: root/android/soongconfig/modules_test.go
AgeCommit message (Collapse)Author
2024-04-22Add support to Soong config list variable Inseob Kim
List variables act similar to value variables. Each value in a list variable will be added to a list property after string substitution. Bug: 329208946 Test: m --no-skip-soong-tests Test: m selinux_policy_system_soong Change-Id: I1127bfb0798e7e5f7d665f647307224d5ff5d790
2024-02-21Allow soong config value variables to set nested properties Cole Faust
Previously, it would error out if it saw anything that wasn't a string or slice of strings. Now it will also recurse in sub-structs. Fixes: 326255534 Test: go test Change-Id: Icbca8e4a2cf54b5610599a10805550fed05eb396
2024-01-12Allow value variables to set pointer properties Cole Faust
Non-null pointers were always leading to an "unsupported property type" error due to not updating the kind field. Bug: 319897584 Test: Presubmits Change-Id: I058ab8d153d9507f9037d699acf6e1fe4f08f538
2024-01-05Remove more bp2build Colin Cross
Bug: 315353489 Test: m blueprint_tests Change-Id: Ib854fe1a448c258fe086691a6e5ed2d98537f5e4
2023-03-06Migrate overlapping config var defs in all bp file Liz Kammer
Unlike most module types, config variable handling is always namespaced to the Android.bp file, which limits reuse of the variable definitions. Additionally multiple of these module types can define a string variable in the same config namespace, but specify different valid values for the string. Previously, we cached the first instance we see of variable + namespace; however, this caused non-determinism in which defintion would be used and not migrating all values. Instead, we now only cache within a single Android.bp file where the variable definitions are re-used. Test: go tests Bug: 271481817 Change-Id: Ic327657c508e47a705bacd24712a1916e105c7cd
2022-11-01Revert^4 "Prevent unspecified values in soong_config_string_variables" Cole Faust
This reverts commit b7b2e124751f44a3b659c5b08deb0684b0041cfe. Reason for revert: Issues on -plus-aosp branches have been fixed Change-Id: Ie2f7ce45502b999280e099d9c0f9d0f7d6b7ba08
2022-10-27Revert "Revert ^2 "Prevent unspecified values in soong_config_st..." Brad Hinegardner
Revert submission 2262062-colefaust_soong_config_string_variable_2nd_try Reason for revert: breaks builds, b/255996492 among others Reverted Changes: I3e2f59e5f:Fix typo Id3bcd9a46:Revert ^2 "Prevent unspecified values in soong_con... Change-Id: Ifa8ebb3993bf2c716c3ec3c9fdbe72ba019e77ad
2022-10-20Revert ^2 "Prevent unspecified values in soong_config_string_variable"" Cole Faust
This reverts commit 38944c70c473c0976a97be774f49a4dfeb60525f. Reason for revert: I believe we're ready for this now, but run build_test 1-4 on internal master for at least master and tm-dev-plus-aosp on go/abtd before submitting Change-Id: Id3bcd9a46f3087cf2d34dece5294828ea9436788
2022-03-24Revert "Prevent unspecified values in soong_config_string_variable" Andrei-Valentin Onea
This reverts commit 542905a28068c26273db97e3013acf7e9fa8ebd7. Reason for revert: This check is breaking multiple builds, creating fixes to minimize re-land work. Change-Id: I6431bd0864f49781910dad787e1ba9375b9931b3
2022-03-17Prevent unspecified values in soong_config_string_variable Cole Faust
Currently, setting a soong config string variable to a value that's not listed just does nothing. Change it so it's an error instead. Bug: 220375749 Test: Presubmits Change-Id: I14c1c76ac556ccb0cbd167c95eb3fd7625a6a52c
2022-02-08Add package for printing starlark formatted data Liz Kammer
Bug: 216168792 Test: build/bazel/ci/bp2build.sh Change-Id: I3a06b19396f7ffe1c638042cda7e731dd840f1d6
2021-11-23Add support for writing all Soong config variables into @soong_injection. Jingwen Chen
Also remove the need to use bp2build_available on soong_config_module_types as we want to convert every single of them into the tree for a complete soong_injection soong_config_variables.bzl file. The variables are split into their bool, value and string types respectively, as they all need to be handled differently on the Bazel product_platform side, as well as for generating constraint values and settings. For example, value variables need to integrate with TemplateVariableInfo, and string variables need to include the string value itself into the select key/constraint value. Sample soong_config_variables.bzl file: https://gist.github.com/jin/cef700bfb20c8656a931306dd71d47e1 Test: CI Bug: 198556411 Change-Id: I8665dd1269a507edb37de62407ed3641564bea5c
2021-03-05Fix nested properties in soong config structs Colin Cross
Fix recursing into nested properties when creating the structs for affectable properties in soong config modules. Fixes: 181156850 Test: Test_createAffectablePropertiesType Change-Id: I4fb645d7e334977d0bbf192c3b43a7bba8289f49
2021-01-21Add conditions_default for soong config variables. Liz Kammer
Each variable can specify a conditions_default for properties to be used when the variable is not set, not set to a true value (for bools), or is set to a value that is not present in the module (for strings). Test: m nothing Test: go test soong tests Change-Id: I76ec026da2369b407f0f530f77760f530e7958fc
2020-12-17Add test & documentation for PropertiesToApply Liz Kammer
Document PropertiesToApply expectations about props, and suggest it should generally be generated via CreateProperties. Test: go soong tests Test: m nothing Change-Id: I7cc2590db96865382ad6e0da333d4a4e2c697f45
2020-10-09Revert "Make lots of tests run in parallel" Colin Cross
This reverts commit 323dc60712491c71ccdc5363c42df61f0a192487. Reason for revert: Possible cause of test instability Bug: 170513220 Test: soong tests Change-Id: Iee168e9fbb4210569e6cffcc23e60d111403abb8
2020-10-06Make lots of tests run in parallel Colin Cross
Putting t.Parallel() in each test makes them run in parallel. Additional t.Parallel() could be added to each subtest, although that requires making a local copy of the loop variable for table driven tests. Test: m checkbuild Change-Id: I5d9869ead441093f4d7c5757f2447385333a95a4
2020-01-24Simplify vendor conditionals Colin Cross
Support vendor conditionals with no Go code. Test: TestSoongConfigModule Change-Id: I42546e7f17324921ada80f4d8e1cd399830f8dfc