Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40f5c3a1 authored by Yike's avatar Yike
Browse files

Export test config info to module-info while the module is uninstallable

All Robolectric tests are set as uninstallable modules, which skips the
logic exporting `test_config` and `auto_test_config` to module-info.
But downstream infra needs this information to determine if a module is
a test module. So that this change moves the logic that sets
`test_config` and `auto_test_config` for Robolectric tests out of the
snippet specifically for installable module.

Test: m out/target/product/coral/module-info.json
Bug: 268670243
Change-Id: Icf4caf3d6833f3a39927fb69c6fb76762b8f6f14
parent 2857d266
Loading
Loading
Loading
Loading
+20 −17
Original line number Diff line number Diff line
@@ -716,6 +716,15 @@ endif
## Compatibility suite files.
###########################################################
ifdef LOCAL_COMPATIBILITY_SUITE

ifneq (,$(LOCAL_FULL_TEST_CONFIG))
  test_config := $(LOCAL_FULL_TEST_CONFIG)
else ifneq (,$(LOCAL_TEST_CONFIG))
  test_config := $(LOCAL_PATH)/$(LOCAL_TEST_CONFIG)
else
  test_config := $(wildcard $(LOCAL_PATH)/AndroidTest.xml)
endif

ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))

# If we are building a native test or benchmark and its stem variants are not defined,
@@ -762,13 +771,6 @@ $(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \


# Auto-generate build config.
ifneq (,$(LOCAL_FULL_TEST_CONFIG))
  test_config := $(LOCAL_FULL_TEST_CONFIG)
else ifneq (,$(LOCAL_TEST_CONFIG))
  test_config := $(LOCAL_PATH)/$(LOCAL_TEST_CONFIG)
else
  test_config := $(wildcard $(LOCAL_PATH)/AndroidTest.xml)
endif
ifeq (,$(test_config))
  ifneq (true,$(is_native))
    is_instrumentation_test := true
@@ -847,16 +849,6 @@ else
  endif
endif # $(my_prefix)$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_compat_files

# HACK: pretend a soong LOCAL_FULL_TEST_CONFIG is autogenerated by setting the flag in
# module-info.json
# TODO: (b/113029686) Add explicit flag from Soong to determine if a test was
# autogenerated.
ifneq (,$(filter $(SOONG_OUT_DIR)%,$(LOCAL_FULL_TEST_CONFIG)))
  ifeq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
    ALL_MODULES.$(my_register_name).auto_test_config := true
  endif
endif


ifeq ($(use_testcase_folder),true)
ifneq ($(my_test_data_file_pairs),)
@@ -897,6 +889,17 @@ $(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \
  $(eval my_compat_dist_test_data_$(suite) := ))

endif  # LOCAL_UNINSTALLABLE_MODULE

# HACK: pretend a soong LOCAL_FULL_TEST_CONFIG is autogenerated by setting the flag in
# module-info.json
# TODO: (b/113029686) Add explicit flag from Soong to determine if a test was
# autogenerated.
ifneq (,$(filter $(SOONG_OUT_DIR)%,$(LOCAL_FULL_TEST_CONFIG)))
  ifeq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
    ALL_MODULES.$(my_register_name).auto_test_config := true
  endif
endif

endif  # LOCAL_COMPATIBILITY_SUITE

my_supported_variant :=