1# Copyright (C) 2012 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# 16# Builds dEQP test description XMLs needed by CTS. 17# 18 19CTS_DEQP_CONFIG_PATH := $(call my-dir) 20 21cts_library_xmls:=$(foreach xml_file, $(call find-files-in-subdirs, external/deqp/android/cts/master, 'com.drawelements.deqp.$(DEQP_API).*xml', .), $(CTS_TESTCASES_OUT)/$(xml_file)) 22$(cts_library_xmls) : PRIVATE_API := $(DEQP_API) 23$(cts_library_xmls) : PRIVATE_TEST_NAME := $(DEQP_TEST_NAME) 24$(cts_library_xmls) : PRIVATE_TEST_PACKAGE := com.drawelements.deqp.$(DEQP_API) 25$(cts_library_xmls) : PRIVATE_DUMMY_CASELIST := $(CTS_DEQP_CONFIG_PATH)/deqp_dummy_test_list 26$(cts_library_xmls) : $(CTS_TESTCASES_OUT)/%.xml: external/deqp/android/cts/master/%.xml $(CTS_EXPECTATIONS) $(CTS_UNSUPPORTED_ABIS) $(CTS_XML_GENERATOR) 27 $(hide) echo Generating test description $@ 28 $(hide) mkdir -p $(CTS_TESTCASES_OUT) 29# Query build ABIs by routing a dummy test list through xml generator and parse result 30 $(hide) $(eval supported_abi_attr := $(shell $(CTS_XML_GENERATOR) -t dummyTest \ 31 -n dummyName \ 32 -p invalid.dummy \ 33 -e $(CTS_EXPECTATIONS) \ 34 -b $(CTS_UNSUPPORTED_ABIS) \ 35 -a $(CTS_TARGET_ARCH) \ 36 < $(PRIVATE_DUMMY_CASELIST) \ 37 | grep --only-matching -e " abis=\"[^\"]*\"")) 38# Patch xml caselist with supported abi 39 $(hide) $(SED_EXTENDED) -e 's:^(\s*)<Test ((.[^/]|[^/])*)(/?)>$$:\1<Test \2 $(supported_abi_attr)\4>:' \ 40 < $< \ 41 > $@ 42