Skip to content

Commit ec5a6a4

Browse files
committed
Modify the GNU API test flow to support out-of-tree testing
Signed-off-by: Jerry Zhang Jian <[email protected]>
1 parent 198952e commit ec5a6a4

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

rvv-intrinsic-generator/Makefile

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,17 @@ TRIGGER_SKIP_DEFAULT_INST := --skip-default-inst
9393
else
9494
TRIGGER_SKIP_DEFAULT_INST :=
9595
endif
96-
# Directory that stores the gnu toolchain
97-
GNU_TOOLCHAIN_DIR :=
98-
# Directory that stores the gcc cases
99-
GCC_CASES_DIR := $(GNU_TOOLCHAIN_DIR)/gcc/gcc/testsuite/gcc.target/riscv/rvv/gcc-auto-generated
100-
# Directory that stores the g++ cases
101-
G++_CASES_DIR := $(GNU_TOOLCHAIN_DIR)/gcc/gcc/testsuite/g++.target/riscv/rvv/g++-auto-generated
96+
# Directory for GNU_TEST_SETUP
97+
GNU_TEST_SETUP := $(DIR)/../gnu-test-setup
98+
99+
# Directory for GNU Toolchain API tests
100+
GNU_TOOLCHAIN_TEST_DIR := $(CURDIR)/gnu-toolchain-tests/testsuite/
101+
# # Directory that stores the gnu toolchain
102+
# GNU_TOOLCHAIN_DIR :=
103+
# # Directory that stores the gcc cases
104+
GCC_CASES_DIR := $(GNU_TOOLCHAIN_TEST_DIR)/gcc
105+
# # Directory that stores the g++ cases
106+
G++_CASES_DIR := $(GNU_TOOLCHAIN_TEST_DIR)/g++
102107

103108
###############################################################################
104109
# Functions
@@ -557,20 +562,18 @@ run-test:
557562
CC=${COMPILER} \
558563
-f ${API_MAKEFILE} -j${nproc}
559564

560-
# Test gnu auto generaged overloaded-api-testing with testing-report
561-
report-gnu:
562-
cd ${GNU_TOOLCHAIN_DIR} && ./configure --prefix="${GNU_TOOLCHAIN_DIR}/install" \
563-
--with-arch=rv64gcv \
564-
--with-abi=lp64d \
565-
--with-isa-spec=20191213 \
566-
--with-sim=qemu
567-
cd ${GNU_TOOLCHAIN_DIR} && make distclean
568-
cd ${GNU_TOOLCHAIN_DIR} && make -j 8
565+
# Test gnu auto generated overloaded-api-testing with testing-report
566+
report-gnu: prepare-gnu
567+
make -C $(GNU_TOOLCHAIN_TEST_DIR)../ -j${nproc}
568+
569+
prepare-gnu:
570+
$(call check_defined, TOOLCHAIN_DIR, path to GNU toolchain)
571+
# setup testsuite
569572
mkdir -p $(GCC_CASES_DIR)/gnu-api-tests
570573
mkdir -p $(GCC_CASES_DIR)/policy_funcs/gnu-api-tests
571574
mkdir -p $(GCC_CASES_DIR)/gnu-overloaded-tests
572575
mkdir -p $(GCC_CASES_DIR)/policy_funcs/gnu-overloaded-tests
573-
cp $(DIR)/../gcc-auto-generated.exp $(GCC_CASES_DIR)/auto-generated.exp
576+
cp $(GNU_TEST_SETUP)/gcc-auto-generated.exp $(GCC_CASES_DIR)/gcc.exp
574577
cp -r $(DIR)/gnu-api-tests/* $(GCC_CASES_DIR)/gnu-api-tests/
575578
cp -r $(DIR)/policy_funcs/gnu-api-tests/* $(GCC_CASES_DIR)/policy_funcs/gnu-api-tests/
576579
cp -r $(DIR)/gnu-overloaded-tests/* $(GCC_CASES_DIR)/gnu-overloaded-tests/
@@ -579,12 +582,20 @@ report-gnu:
579582
mkdir -p $(G++_CASES_DIR)/policy_funcs/gnu-api-tests
580583
mkdir -p $(G++_CASES_DIR)/gnu-overloaded-tests
581584
mkdir -p $(G++_CASES_DIR)/policy_funcs/gnu-overloaded-tests
582-
cp $(DIR)/../g++-auto-generated.exp $(G++_CASES_DIR)/auto-generated.exp
585+
cp $(GNU_TEST_SETUP)/g++-auto-generated.exp $(G++_CASES_DIR)/g++.exp
583586
cp -r $(DIR)/gnu-api-tests/* $(G++_CASES_DIR)/gnu-api-tests/
584587
cp -r $(DIR)/policy_funcs/gnu-api-tests/* $(G++_CASES_DIR)/policy_funcs/gnu-api-tests/
585588
cp -r $(DIR)/gnu-overloaded-tests/* $(G++_CASES_DIR)/gnu-overloaded-tests/
586589
cp -r $(DIR)/policy_funcs/gnu-overloaded-tests/* $(G++_CASES_DIR)/policy_funcs/gnu-overloaded-tests/
587-
cd ${GNU_TOOLCHAIN_DIR} && make report -j 8 RUNTESTFLAGS="auto-generated.exp"
590+
# setup the site.exp
591+
cp $(GNU_TEST_SETUP)/site.exp $(GNU_TOOLCHAIN_TEST_DIR)/../site.exp
592+
sed -i 's|TOOLCHAIN_DIR|$(TOOLCHAIN_DIR)|g' $(GNU_TOOLCHAIN_TEST_DIR)/../site.exp
593+
sed -i 's|SRCDIR|$(GNU_TOOLCHAIN_TEST_DIR)|g' $(GNU_TOOLCHAIN_TEST_DIR)/../site.exp
594+
# setup gcc testharness
595+
bash $(GNU_TEST_SETUP)/fetch-gcc-testharness.sh $(GNU_TOOLCHAIN_TEST_DIR)
596+
# setup makefile
597+
cp $(GNU_TEST_SETUP)/Makefile.gnu $(GNU_TOOLCHAIN_TEST_DIR)/../Makefile
598+
sed -i 's|TESTSUITE_PATH|$(GNU_TOOLCHAIN_TEST_DIR)|g' $(GNU_TOOLCHAIN_TEST_DIR)/../Makefile
588599

589600
###############################################################################
590601
# Custom Vendor Generator Target

0 commit comments

Comments
 (0)