Skip to content

Commit

Permalink
Merge pull request #4686 from kinke/dmd_tests_gdb
Browse files Browse the repository at this point in the history
dmd-testsuite: Disable gdb tests if gdb isn't installed, and drop support for gdb < v7.8
  • Loading branch information
kinke authored Jun 13, 2024
2 parents 85c1b73 + 5b9f436 commit d4a9755
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions tests/dmd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,21 @@ else()
set(host_model 64)
endif()

set(gdb_dflags "")
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(gdb_result_code)
execute_process(COMMAND gdb --version
COMMAND head -n 1
RESULT_VARIABLE gdb_result_code
OUTPUT_VARIABLE GDB_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX REPLACE "[^0-9]*([0-9]+[0-9.]*).*" "\\1" GDB_VERSION "${GDB_VERSION}")
message(STATUS "GDB ${GDB_VERSION} detected")
if(GDB_VERSION VERSION_LESS "7.6.1")
set(gdb_flags "NOTLS")
if(gdb_result_code)
message(STATUS "GDB not detected, will exclude GDB tests from test suite")
set(gdb_flags "OFF")
else()
string(REGEX REPLACE "[^0-9]*([0-9]+[0-9.]*).*" "\\1" GDB_VERSION "${GDB_VERSION}")
message(STATUS "GDB ${GDB_VERSION} detected")
set(gdb_flags "ON")
endif()
if(GDB_VERSION VERSION_LESS "7.8")
set(gdb_dflags "-dwarf-version=2")
endif()
else()
set(gdb_flags "OFF")
endif()
Expand All @@ -46,7 +45,7 @@ function(add_testsuite config_suffix required_flags gdbflags model make_rule)
add_test(NAME clean-${name}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${outdir})

set(dflags "-conf=${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.conf ${gdb_dflags}")
set(dflags "-conf=${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.conf")
add_test(NAME ${name}
COMMAND ${RUN_DMD_TESTSUITE_EXE_FULL} RESULTS_DIR=${resultsdir}
REQUIRED_ARGS=${required_flags} DFLAGS=${dflags}
Expand Down

0 comments on commit d4a9755

Please sign in to comment.