diff options
Diffstat (limited to 'tests/auto/corelib/io/qprocess/testProcessCrash')
-rw-r--r-- | tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt | 9 | ||||
-rw-r--r-- | tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp | 34 |
2 files changed, 14 insertions, 29 deletions
diff --git a/tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt b/tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt index b473e699cc..2f167899eb 100644 --- a/tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt +++ b/tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt @@ -1,8 +1,13 @@ # Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +# SPDX-License-Identifier: BSD-3-Clause ##################################################################### ## testProcessCrash Binary: ##################################################################### -add_executable(testProcessCrash main.cpp) +qt_internal_add_executable(testProcessCrash + OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/" + CORE_LIBRARY None + SOURCES + main.cpp +) diff --git a/tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp b/tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp index 1441c8ed0c..a5f1eef88a 100644 --- a/tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp +++ b/tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp @@ -1,34 +1,14 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2020 Intel Corporation. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only -void crashFallback(volatile int *ptr = nullptr) -{ - *ptr = 0; -} - -#if defined(_MSC_VER) -# include <intrin.h> - -int main() -{ -# if defined(_M_IX86) || defined(_M_X64) - __ud2(); -# endif - - crashFallback(); -} -#elif defined(__MINGW32__) -int main() -{ - asm("ud2"); - crashFallback(); -} -#else -# include <stdlib.h> +#include "../crasher.h" +using namespace tst_QProcessCrash; int main() { - abort(); + [[maybe_unused]] // NoCoreDumps may be an empty struct, not a RAII class + NoCoreDumps disableCoreDumps; + crash(); + return 0; } -#endif |