Tests: Shorten RunCMake.CrosscompilingEmulator executable names

Also switch to pure C.
This commit is contained in:
Brad King
2024-01-26 14:46:21 -05:00
parent 10f906106e
commit 2b5447d4a8
15 changed files with 58 additions and 44 deletions

View File

@@ -1,10 +1,11 @@
enable_language(C)
set(CMAKE_CROSSCOMPILING 1)
# Executable: Return error code different from 0
add_executable(generated_exe_emulator_expected simple_src_exiterror.cxx)
add_executable(generated_exe_emulator_expected simple_src_exiterror.c)
# Executable: Return error code equal to 0
add_executable(generated_exe_emulator_unexpected generated_exe_emulator_unexpected.cxx)
add_executable(generated_exe_emulator_unexpected emulator_unexpected.c)
# Place the executable in a predictable location.
set_property(TARGET generated_exe_emulator_unexpected PROPERTY RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_CURRENT_BINARY_DIR}>)

View File

@@ -1,7 +1,8 @@
enable_language(C)
set(CMAKE_CROSSCOMPILING 1)
# Executable: Return error code different from 0
add_executable(generated_exe_emulator_expected simple_src_exiterror.cxx)
add_executable(generated_exe_emulator_expected simple_src_exiterror.c)
add_custom_command(OUTPUT output
COMMAND generated_exe_emulator_expected

View File

@@ -1,10 +1,11 @@
enable_language(C)
set(CMAKE_CROSSCOMPILING 1)
# Executable: Return error code different from 0
add_executable(generated_exe_emulator_expected simple_src_exiterror.cxx)
add_executable(generated_exe_emulator_expected simple_src_exiterror.c)
# Executable: Return error code equal to 0
add_executable(generated_exe_emulator_unexpected generated_exe_emulator_unexpected.cxx)
add_executable(generated_exe_emulator_unexpected emulator_unexpected.c)
# Place the executable in a predictable location.
set_property(TARGET generated_exe_emulator_unexpected PROPERTY RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_CURRENT_BINARY_DIR}>)

View File

@@ -1,7 +1,8 @@
enable_language(C)
set(CMAKE_CROSSCOMPILING 1)
# Executable: Return error code different from 0
add_executable(generated_exe_emulator_expected simple_src_exiterror.cxx)
add_executable(generated_exe_emulator_expected simple_src_exiterror.c)
add_custom_target(generate_output ALL
generated_exe_emulator_expected

View File

@@ -1,5 +1,7 @@
enable_language(C)
enable_testing()
if(CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "cross compiling")
message(FATAL_ERROR "cross compiling")
endif()
cmake_policy(SET CMP0158 NEW)
@@ -8,18 +10,18 @@ enable_testing()
add_test(NAME DoesNotUseEmulator
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
add_executable(generated_exe simple_src_exiterror.cxx)
add_executable(exe main.c)
add_test(NAME ShouldNotUseEmulator
COMMAND generated_exe)
COMMAND exe)
add_test(NAME DoesNotUseEmulatorWithGenex
COMMAND $<TARGET_FILE:generated_exe>)
COMMAND $<TARGET_FILE:exe>)
add_subdirectory(AddTest)
add_test(NAME ShouldNotUseEmulatorWithExecTargetFromSubdirAddedWithoutGenex
COMMAND generated_exe_in_subdir_added_to_test_without_genex)
COMMAND subdir_exe_no_genex)
add_test(NAME DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex
COMMAND $<TARGET_FILE:generated_exe_in_subdir_added_to_test_with_genex>)
COMMAND $<TARGET_FILE:subdir_exe_with_genex>)

View File

@@ -1,25 +1,26 @@
enable_language(C)
enable_testing()
if(CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "cross compiling")
message(FATAL_ERROR "cross compiling")
endif()
cmake_policy(SET CMP0158 OLD)
enable_testing()
add_test(NAME DoesNotUseEmulator
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
add_executable(generated_exe simple_src_exiterror.cxx)
add_executable(exe main.c)
add_test(NAME UsesEmulator
COMMAND generated_exe)
COMMAND exe)
add_test(NAME DoesNotUseEmulatorWithGenex
COMMAND $<TARGET_FILE:generated_exe>)
COMMAND $<TARGET_FILE:exe>)
add_subdirectory(AddTest)
add_test(NAME UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex
COMMAND generated_exe_in_subdir_added_to_test_without_genex)
COMMAND subdir_exe_no_genex)
add_test(NAME DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex
COMMAND $<TARGET_FILE:generated_exe_in_subdir_added_to_test_with_genex>)
COMMAND $<TARGET_FILE:subdir_exe_with_genex>)

View File

@@ -1,26 +1,28 @@
set(CMAKE_CROSSCOMPILING 1)
enable_language(C)
enable_testing()
set(CMAKE_CROSSCOMPILING 1)
add_test(NAME DoesNotUseEmulator
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
add_executable(generated_exe simple_src_exiterror.cxx)
add_executable(exe main.c)
add_test(NAME UsesEmulator
COMMAND generated_exe)
COMMAND exe)
add_test(NAME DoesNotUseEmulatorWithGenex
COMMAND $<TARGET_FILE:generated_exe>)
COMMAND $<TARGET_FILE:exe>)
add_subdirectory(AddTest)
add_test(NAME UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex
COMMAND generated_exe_in_subdir_added_to_test_without_genex)
COMMAND subdir_exe_no_genex)
add_test(NAME DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex
COMMAND $<TARGET_FILE:generated_exe_in_subdir_added_to_test_with_genex>)
COMMAND $<TARGET_FILE:subdir_exe_with_genex>)
add_executable(generated_exe_test_launcher simple_src_exiterror.cxx)
set_property(TARGET generated_exe_test_launcher PROPERTY TEST_LAUNCHER "pseudo_test_launcher")
add_executable(exe_test_launcher main.c)
set_property(TARGET exe_test_launcher PROPERTY TEST_LAUNCHER "pseudo_test_launcher")
add_test(NAME UsesTestLauncherAndEmulator
COMMAND generated_exe_test_launcher)
COMMAND exe_test_launcher)

View File

@@ -1,5 +1,2 @@
add_executable(generated_exe_in_subdir_added_to_test_without_genex
${CMAKE_CURRENT_SOURCE_DIR}/../simple_src_exiterror.cxx)
add_executable(generated_exe_in_subdir_added_to_test_with_genex
${CMAKE_CURRENT_SOURCE_DIR}/../simple_src_exiterror.cxx)
add_executable(subdir_exe_no_genex ../main.c)
add_executable(subdir_exe_with_genex ../main.c)

View File

@@ -1,3 +1,3 @@
cmake_minimum_required(VERSION 3.5)
project(${RunCMake_TEST} CXX)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View File

@@ -1,9 +1,11 @@
# This tests setting the CROSSCOMPILING_EMULATOR target property from the
# CMAKE_CROSSCOMPILING_EMULATOR variable.
enable_language(C)
# -DCMAKE_CROSSCOMPILING_EMULATOR=/path/to/pseudo_emulator is passed to this
# test
add_executable(target_with_emulator simple_src_exiterror.cxx)
add_executable(target_with_emulator main.c)
get_property(emulator TARGET target_with_emulator
PROPERTY CROSSCOMPILING_EMULATOR)
if(NOT "${emulator}" MATCHES "pseudo_emulator")
@@ -20,14 +22,14 @@ if(NOT "${emulator}" MATCHES "another_emulator")
endif()
unset(CMAKE_CROSSCOMPILING_EMULATOR CACHE)
add_executable(target_without_emulator simple_src_exiterror.cxx)
add_executable(target_without_emulator main.c)
get_property(emulator TARGET target_without_emulator
PROPERTY CROSSCOMPILING_EMULATOR)
if(NOT "${emulator}" STREQUAL "")
message(SEND_ERROR "Default CROSSCOMPILING_EMULATOR property not set to null")
endif()
add_executable(target_with_empty_emulator simple_src_exiterror.cxx)
add_executable(target_with_empty_emulator main.c)
set_property(TARGET target_with_empty_emulator PROPERTY CROSSCOMPILING_EMULATOR "")
enable_testing()

View File

@@ -1,10 +1,11 @@
enable_language(C)
set(CMAKE_CROSSCOMPILING 1)
set(ENV{PSEUDO_EMULATOR_FAIL} 1)
try_run(run_result compile_result
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.c
RUN_OUTPUT_VARIABLE run_output)
message(STATUS "run_output: ${run_output}")
@@ -15,6 +16,6 @@ set(CMAKE_CROSSCOMPILING_EMULATOR ${CMAKE_CROSSCOMPILING_EMULATOR}
"multi arg")
try_run(run_result compile_result
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.cxx
${CMAKE_CURRENT_SOURCE_DIR}/simple_src_exiterror.c
RUN_OUTPUT_VARIABLE run_output)
message(STATUS "Emulator with arguments run_output: ${run_output}")

View File

@@ -2,7 +2,8 @@
int main(int argc, const char* argv[])
{
for (int i = 1; i < argc; ++i) {
int i;
for (i = 1; i < argc; ++i) {
fprintf(stderr, "unexpected argument: '%s'\n", argv[i]);
}
return argc == 1 ? 0 : 1;

View File

@@ -0,0 +1,4 @@
int main(void)
{
return 0;
}

View File

@@ -0,0 +1,4 @@
int main(void)
{
return 13;
}

View File

@@ -1,4 +0,0 @@
int main(int, char**)
{
return 13;
}