summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qprocess/testProcessCrash
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qprocess/testProcessCrash')
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt9
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessCrash/main.cpp34
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