diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 578c018c..0e9af210 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -110,6 +110,10 @@ add_executable(main-tests-gcov ${main_tests_SRCS}) set_target_properties(main-tests-gcov PROPERTIES COMPILE_FLAGS "--coverage") set_target_properties(main-tests-gcov PROPERTIES LINK_FLAGS "--coverage") +add_executable(pie-test argv-dependent.c) +set_target_properties(pie-test PROPERTIES COMPILE_FLAGS "-g -fpie -fPIE") +set_target_properties(pie-test PROPERTIES LINK_FLAGS "-pie") + target_link_libraries(dlopen dl) diff --git a/tests/robot-framework/kcov-tests.txt b/tests/robot-framework/kcov-tests.txt index f73af35a..98881e5e 100644 --- a/tests/robot-framework/kcov-tests.txt +++ b/tests/robot-framework/kcov-tests.txt @@ -242,6 +242,7 @@ short-filename ${rc}= Run and return RC ${kcov} ${out} ./s Should be equal as integers ${rc} 99 +# Position-independent executables pie Run rm -rf ${out}/pie ${no_kcov_rc}= Run and return RC ./pie @@ -250,6 +251,31 @@ pie ${output}= Run ${xml_lookup} ${out}/pie/cobertura.xml pie_c 5 Should Contain ${output} 1 +pie-argv-basic + Run rm -rf ${out}/pie-test + ${rc}= Run and return RC ${kcov} ${out} ./pie-test + Should be equal as integers ${rc} 0 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 5 + Should Contain ${output} 1 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 11 + Should Contain ${output} 0 + +pie-accumulate + [Tags] not_ready + Run rm -rf ${out}/pie-test + ${rc}= Run and return RC ${kcov} ${out} ./pie-test + Should be equal as integers ${rc} 0 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 5 + Should Contain ${output} 1 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 11 + Should Contain ${output} 0 + ${rc}= Run and return RC ${kcov} ${out} ./pie-test a + Should be equal as integers ${rc} 0 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 11 + Should Contain ${output} 1 + ${output}= Run ${xml_lookup} ${out}/pie-test/cobertura.xml argv_dependent_c 5 + Should Contain ${output} 1 + global-constructors-test Run rm -rf ${out}/global-constructors ${no_kcov_rc}= Run and return RC ./global-constructors