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

Commit 7f82a0ca authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Rewrite test data logic to make it faster" am: 83e9cfe2 am: 84849aef am: b17e2f50

Original change: https://android-review.googlesource.com/c/platform/build/+/1326014

Change-Id: Ic7c0ba13df561059e85feae83d7c56c9f20fb74c
parents e87d17e4 b17e2f50
Loading
Loading
Loading
Loading
+29 −11
Original line number Original line Diff line number Diff line
@@ -562,17 +562,35 @@ ifneq ($(strip $(filter NATIVE_TESTS,$(LOCAL_MODULE_CLASS)) $(LOCAL_IS_FUZZ_TARG
ifneq ($(strip $(LOCAL_TEST_DATA)),)
ifneq ($(strip $(LOCAL_TEST_DATA)),)
ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))


my_test_data_pairs := $(strip $(foreach td,$(LOCAL_TEST_DATA), \
ifeq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
    $(eval _file := $(call word-colon,2,$(td))) \
  define copy_test_data_pairs
    $(if $(_file), \
    _src_base := $$(call word-colon,1,$$(td))
      $(eval _src_base := $(call word-colon,1,$(td))), \
    _file := $$(call word-colon,2,$$(td))
      $(eval _src_base := $(LOCAL_PATH)) \
    my_test_data_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(call append-path,$$(my_module_path),$$(_file))
        $(eval _file := $(call word-colon,1,$(td)))) \
    my_test_data_file_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(_file)
    $(if $(call streq,$(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)),, \
  endef
      $(if $(findstring ..,$(_file)),$(error $(LOCAL_MODULE_MAKEFILE): LOCAL_TEST_DATA may not include '..': $(_file))) \
else
      $(if $(filter /%,$(_src_base) $(_file)),$(error $(LOCAL_MODULE_MAKEFILE): LOCAL_TEST_DATA may not include absolute paths: $(_src_base) $(_file)))) \
  define copy_test_data_pairs
    $(eval my_test_data_file_pairs := $(my_test_data_file_pairs) $(call append-path,$(_src_base),$(_file)):$(_file)) \
    _src_base := $$(call word-colon,1,$$(td))
    $(call append-path,$(_src_base),$(_file)):$(call append-path,$(my_module_path),$(_file))))
    _file := $$(call word-colon,2,$$(td))
    ifndef _file
      _file := $$(_src_base)
      _src_base := $$(LOCAL_PATH)
    endif
    ifneq (,$$(findstring ..,$$(_file)))
      $$(call pretty-error,LOCAL_TEST_DATA may not include '..': $$(_file))
    endif
    ifneq (,$$(filter/%,$$(_src_base) $$(_file)))
      $$(call pretty-error,LOCAL_TEST_DATA may not include absolute paths: $$(_src_base) $$(_file))
    endif
    my_test_data_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(call append-path,$$(my_module_path),$$(_file))
    my_test_data_file_pairs += $$(call append-path,$$(_src_base),$$(_file)):$$(_file)
  endef
endif

$(foreach td,$(LOCAL_TEST_DATA),$(eval $(copy_test_data_pairs)))

copy_test_data_pairs :=


my_installed_test_data := $(call copy-many-files,$(my_test_data_pairs))
my_installed_test_data := $(call copy-many-files,$(my_test_data_pairs))
$(LOCAL_INSTALLED_MODULE): $(my_installed_test_data)
$(LOCAL_INSTALLED_MODULE): $(my_installed_test_data)