diff --git a/Scripts/developer_scripts/run_testsuite_with_cmake b/Scripts/developer_scripts/run_testsuite_with_cmake index 26cb5cc0593..35be0c1001a 100644 --- a/Scripts/developer_scripts/run_testsuite_with_cmake +++ b/Scripts/developer_scripts/run_testsuite_with_cmake @@ -321,6 +321,9 @@ run_test_on_platform() chmod 777 Installation cp "${CGAL_BINARY_DIR}/package_installation.log" "Installation/${TEST_REPORT}" + #call the python script to complete the results report. + python3 ${CGAL_DIR}/${TESTSUITE_DIR}test/get_deactivated_packages_info.py Installation/${TEST_REPORT} ${TEST_REPORT} results_${CGAL_TESTER}_${PLATFORM}.txt + rm -f $OUTPUT_FILE $OUTPUT_FILE.gz tar cf $OUTPUT_FILE results_${CGAL_TESTER}_${PLATFORM}.txt */"$TEST_REPORT" echo diff --git a/Testsuite/test/get_deactivated_packages_info.py b/Testsuite/test/get_deactivated_packages_info.py new file mode 100644 index 00000000000..7994c7196f9 --- /dev/null +++ b/Testsuite/test/get_deactivated_packages_info.py @@ -0,0 +1,50 @@ +import sys +import io +import re +import os + +report_file=sys.argv[1] +report_name=sys.argv[2] +global_report_name=sys.argv[3] +rx=re.compile('(.*Configuring (examples|demo|test)*( in )*(test\/|examples\/|demo\/)*)\w+') +rx_demo=re.compile('.*in demo\/') +rx_examples=re.compile('.*in examples\/') + + +#open the Installation report +#For each NAME, check if NAME is a directory. If not, create one, create a +#text report, and write everything that is in the report until the next NAME +#in it. Then, add 'NAME r' in the global report. This should allow to get all +#the NOTICE and other info explaining why the configuration is skiped. + +name="" +is_writing=False +global_report=open(global_report_name, "a+") +with open(report_file, "rt") as test_report: + for myline in test_report: + m=rx.match(myline) + + if is_writing: + if m: + is_writing=False + test_report.close() + print("{label} {result}".format(label=name, result='r'), file=global_report) + else: + test_report.write(myline) + if not is_writing: + if m: + name=m.group(0).replace(m.group(1), "") + if rx_demo.match(myline): + name="{str}_Demo".format(str=name) + elif rx_examples.match(myline): + name="{str}_Examples".format(str=name) + + if not os.path.isdir(name): + os.mkdir(name) + test_report=open("{dir}/{file}".format(dir=name, file=report_name), "w+") + is_writing=True +if is_writing: + is_writing=False + test_report.close() + print("{label} {result}".format(label=name, result='r'), file=global_report) +global_report.close()