diff options
author | 2025-03-18 13:07:27 -0700 | |
---|---|---|
committer | 2025-03-18 13:07:27 -0700 | |
commit | 17e9add874924f3de83f5b51d7db0fcf4a676b5c (patch) | |
tree | 1e9a8d9c26eb4d7c6f9c2e9cc860e1f8a45147ff | |
parent | cf16d8be94747efba02b6d457d2a636516ecd673 (diff) | |
parent | f009f42dbc0a6b2b659035204bff88baae22e089 (diff) |
Merge "Extend prebuilt_etc fsgen tests" into main
-rw-r--r-- | fsgen/filesystem_creator_test.go | 159 |
1 files changed, 130 insertions, 29 deletions
diff --git a/fsgen/filesystem_creator_test.go b/fsgen/filesystem_creator_test.go index 81236a0a1..651d2d1a9 100644 --- a/fsgen/filesystem_creator_test.go +++ b/fsgen/filesystem_creator_test.go @@ -312,14 +312,14 @@ func TestPrebuiltEtcModuleGen(t *testing.T) { }), ).RunTest(t) - checkModuleProp := func(m android.Module, matcher func(actual interface{}) bool) bool { + getModuleProp := func(m android.Module, matcher func(actual interface{}) string) string { for _, prop := range m.GetProperties() { - if matcher(prop) { - return true + if str := matcher(prop); str != "" { + return str } } - return false + return "" } // check generated prebuilt_* module type install path and install partition @@ -350,6 +350,37 @@ func TestPrebuiltEtcModuleGen(t *testing.T) { etcModule.SubDir(), ) + // check that generated prebuilt_* module sets correct srcs + eval := generatedModule.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) + android.AssertStringEquals( + t, + "module expected to set correct srcs property", + "Vendor_0079_Product_0011.kl", + getModuleProp(generatedModule, func(actual interface{}) string { + if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { + srcs := p.Srcs.GetOrDefault(eval, nil) + if len(srcs) == 2 { + return srcs[0] + } + } + return "" + }), + ) + android.AssertStringEquals( + t, + "module expected to set correct srcs property", + "Vendor_0079_Product_18d4.kl", + getModuleProp(generatedModule, func(actual interface{}) string { + if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { + srcs := p.Srcs.GetOrDefault(eval, nil) + if len(srcs) == 2 { + return srcs[1] + } + } + return "" + }), + ) + // check that prebuilt_* module is not generated for non existing source file android.AssertStringEquals( t, @@ -363,60 +394,130 @@ func TestPrebuiltEtcModuleGen(t *testing.T) { generatedModule1 := result.ModuleForTests(t, "product-device_sample_etc-etc-1", "android_arm64_armv8-a").Module() // check that generated prebuilt_* module sets correct srcs and dsts property - eval := generatedModule0.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) - android.AssertBoolEquals( + eval = generatedModule0.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) + android.AssertStringEquals( t, "module expected to set correct srcs property", - true, - checkModuleProp(generatedModule0, func(actual interface{}) bool { + "apns-full-conf.xml", + getModuleProp(generatedModule0, func(actual interface{}) string { if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { srcs := p.Srcs.GetOrDefault(eval, nil) - return len(srcs) == 1 && - srcs[0] == "apns-full-conf.xml" + if len(srcs) == 1 { + return srcs[0] + } } - return false + return "" }), ) - android.AssertBoolEquals( + android.AssertStringEquals( t, "module expected to set correct dsts property", - true, - checkModuleProp(generatedModule0, func(actual interface{}) bool { + "apns-conf.xml", + getModuleProp(generatedModule0, func(actual interface{}) string { if p, ok := actual.(*etc.PrebuiltDstsProperties); ok { dsts := p.Dsts.GetOrDefault(eval, nil) - return len(dsts) == 1 && - dsts[0] == "apns-conf.xml" + if len(dsts) == 1 { + return dsts[0] + } } - return false + return "" }), ) // check that generated prebuilt_* module sets correct srcs and dsts property eval = generatedModule1.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) - android.AssertBoolEquals( + android.AssertStringEquals( t, "module expected to set correct srcs property", - true, - checkModuleProp(generatedModule1, func(actual interface{}) bool { + "apns-full-conf.xml", + getModuleProp(generatedModule1, func(actual interface{}) string { if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { srcs := p.Srcs.GetOrDefault(eval, nil) - return len(srcs) == 1 && - srcs[0] == "apns-full-conf.xml" + if len(srcs) == 1 { + return srcs[0] + } } - return false + return "" }), ) - android.AssertBoolEquals( + android.AssertStringEquals( t, "module expected to set correct dsts property", - true, - checkModuleProp(generatedModule1, func(actual interface{}) bool { + "apns-conf-2.xml", + getModuleProp(generatedModule1, func(actual interface{}) string { if p, ok := actual.(*etc.PrebuiltDstsProperties); ok { dsts := p.Dsts.GetOrDefault(eval, nil) - return len(dsts) == 1 && - dsts[0] == "apns-conf-2.xml" + if len(dsts) == 1 { + return dsts[0] + } + } + return "" + }), + ) + + generatedModule0 = result.ModuleForTests(t, "system-device_sample_etc-foo-0", "android_common").Module() + generatedModule1 = result.ModuleForTests(t, "system-device_sample_etc-foo-1", "android_common").Module() + + // check that generated prebuilt_* module sets correct srcs and dsts property + eval = generatedModule0.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) + android.AssertStringEquals( + t, + "module expected to set correct srcs property", + "apns-full-conf.xml", + getModuleProp(generatedModule0, func(actual interface{}) string { + if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { + srcs := p.Srcs.GetOrDefault(eval, nil) + if len(srcs) == 1 { + return srcs[0] + } + } + return "" + }), + ) + android.AssertStringEquals( + t, + "module expected to set correct dsts property", + "foo/file.txt", + getModuleProp(generatedModule0, func(actual interface{}) string { + if p, ok := actual.(*etc.PrebuiltDstsProperties); ok { + dsts := p.Dsts.GetOrDefault(eval, nil) + if len(dsts) == 1 { + return dsts[0] + } + } + return "" + }), + ) + + // check generated prebuilt_* module specifies correct install path and relative install path + etcModule, _ = generatedModule1.(*etc.PrebuiltEtc) + android.AssertStringEquals( + t, + "module expected to have . install path", + ".", + etcModule.BaseDir(), + ) + android.AssertStringEquals( + t, + "module expected to set correct relative_install_path properties", + "foo", + etcModule.SubDir(), + ) + + // check that generated prebuilt_* module sets correct srcs + eval = generatedModule1.ConfigurableEvaluator(android.PanickingConfigAndErrorContext(result.TestContext)) + android.AssertStringEquals( + t, + "module expected to set correct srcs property", + "apns-full-conf.xml", + getModuleProp(generatedModule1, func(actual interface{}) string { + if p, ok := actual.(*etc.PrebuiltEtcProperties); ok { + srcs := p.Srcs.GetOrDefault(eval, nil) + if len(srcs) == 1 { + return srcs[0] + } } - return false + return "" }), ) } |