summaryrefslogtreecommitdiffstats
path: root/tests/libfuzzer/gui/painting/qcolorspace
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libfuzzer/gui/painting/qcolorspace')
-rw-r--r--tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt30
-rw-r--r--tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro1
-rw-r--r--tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp18
3 files changed, 43 insertions, 6 deletions
diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt
new file mode 100644
index 0000000000..ec52626e2d
--- /dev/null
+++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Generated from fromiccprofile.pro.
+
+#####################################################################
+## fromiccprofile Binary:
+#####################################################################
+
+qt_add_executable(fromiccprofile
+ GUI
+ SOURCES
+ main.cpp
+ PUBLIC_LIBRARIES
+ Qt::Gui
+)
+
+#### Keys ignored in scope 1:.:.:fromiccprofile.pro:<TRUE>:
+# FUZZ_ENGINE = "$$(LIB_FUZZING_ENGINE)"
+# QTPLUGIN = "qminimal"
+
+## Scopes:
+#####################################################################
+
+qt_extend_target(fromiccprofile CONDITION FUZZ_ENGINE_ISEMPTY
+ LINK_OPTIONS
+ "-fsanitize=fuzzer"
+)
+
+qt_extend_target(fromiccprofile CONDITION NOT FUZZ_ENGINE_ISEMPTY
+ PUBLIC_LIBRARIES
+ $ENV{LIB_FUZZING_ENGINE}
+)
diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro
index 934ff81077..bed2198e0d 100644
--- a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro
+++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/fromiccprofile.pro
@@ -1,4 +1,5 @@
QT += gui
+QTPLUGIN *= qminimal
SOURCES += main.cpp
FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE)
isEmpty(FUZZ_ENGINE) {
diff --git a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp
index 7681c1468e..8a588c6e21 100644
--- a/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp
+++ b/tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/main.cpp
@@ -26,16 +26,22 @@
**
****************************************************************************/
+#include <cstdlib>
+
#include <QGuiApplication>
#include <QColorSpace>
-// Run this with
-// QT_LOGGING_RULES="qt.gui.icc=false"
-// to reduce noise and increase speed.
-
extern "C" int LLVMFuzzerTestOneInput(const char *data, size_t size) {
- static int c = 0;
- static QGuiApplication a(c, nullptr);
+ // to reduce noise and increase speed
+ static char quiet[] = "QT_LOGGING_RULES=qt.gui.icc=false";
+ static int pe = putenv(quiet);
+ Q_UNUSED(pe)
+ static int argc = 3;
+ static char arg1[] = "fuzzer";
+ static char arg2[] = "-platform";
+ static char arg3[] = "minimal";
+ static char *argv[] = {arg1, arg2, arg3, nullptr};
+ static QGuiApplication qga(argc, argv);
QColorSpace cs = QColorSpace::fromIccProfile(QByteArray::fromRawData(data, size));
return 0;
}