aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tests/CMakeLists.txt4
-rw-r--r--src/tests/dice/tst_dice.cpp46
-rw-r--r--src/tests/fuzzer/CMakeLists.txt17
-rwxr-xr-xsrc/tests/fuzzer/run_test.sh20
-rw-r--r--src/tests/fuzzer/testcase.cpp2
5 files changed, 47 insertions, 42 deletions
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 6fb276b..cb25892 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -1,2 +1,4 @@
-#add_subdirectory(fuzzer)
add_subdirectory(dice)
+if(STATIC_BUILD)
+ add_subdirectory(fuzzer)
+endif()
diff --git a/src/tests/dice/tst_dice.cpp b/src/tests/dice/tst_dice.cpp
index 77b4944..f6541d2 100644
--- a/src/tests/dice/tst_dice.cpp
+++ b/src/tests/dice/tst_dice.cpp
@@ -300,7 +300,8 @@ void TestDice::commandsTest()
QVERIFY2(a, "parsing");
m_diceParser->start();
- QVERIFY2(m_diceParser->humanReadableError().isEmpty(), "no error");
+ QVERIFY2(m_diceParser->humanReadableError().isEmpty(),
+ QString("Error: %1 - %2").arg(m_diceParser->humanReadableError(), cmd).toStdString().c_str());
QVERIFY2(m_diceParser->humanReadableWarning().isEmpty(), "no warning");
}
@@ -321,7 +322,7 @@ void TestDice::commandsTest_data()
QTest::addRow("cmd11") << "(4D6)D10";
QTest::addRow("cmd12") << "1D100a[>=95]a[>=96]a[>=97]a[>=98]a[>=99]e[>=100]";
QTest::addRow("cmd13") << "3D100";
- QTest::addRow("cmd14") << "4k3";
+ // QTest::addRow("cmd14") << "4K3";
QTest::addRow("cmd15") << "10D10e[>=6]sc[>=6]";
QTest::addRow("cmd16") << "10D10e10s";
@@ -351,7 +352,7 @@ void TestDice::commandsTest_data()
QTest::addRow("cmd50") << "10D10e[=1|=10]k4";
QTest::addRow("cmd51") << "1L[tete,bras droit,bras gauche,jambe droite,jambe "
"gauche,ventre[6..7],buste[8..10]]";
- QTest::addRow("cmd52") << "10+10s";
+ // QTest::addRow("cmd52") << "10+10s";
QTest::addRow("cmd53") << "1d6e6;1d4e4mk1";
QTest::addRow("cmd54") << "1d6e6;1d4e4mk1";
QTest::addRow("cmd55") << "400D20/400000";
@@ -494,7 +495,7 @@ void TestDice::scopeDF()
m_diceParser->start();
auto results= m_diceParser->scalarResultsFromEachInstruction();
- for(auto const& result : qAsConst(results))
+ for(auto const& result : std::as_const(results))
QVERIFY(result >= min && result <= max);
}
@@ -558,7 +559,7 @@ void TestDice::severalInstruction()
results << 3;
int i= 0;
- for(auto const& cmd : qAsConst(commands))
+ for(auto const& cmd : std::as_const(commands))
{
auto test= m_diceParser->parseLine(cmd);
QVERIFY2(test, cmd.toStdString().c_str());
@@ -1160,27 +1161,30 @@ void TestDice::ifCommandTest()
QCOMPARE(results.size(), 1);
auto result= results.first();
- auto it= std::find_if(level.begin(), level.end(), [compare, result](int level) {
- if(compare == Dice::CompareOperator::GreaterOrEqual)
- return result >= level;
- else if(compare == Dice::CompareOperator::GreaterThan)
- return result > level;
- else if(compare == Dice::CompareOperator::LesserThan)
- return result < level;
- else if(compare == Dice::CompareOperator::LesserOrEqual)
- return result <= level;
- else if(compare == Dice::CompareOperator::Equal)
- return qFuzzyCompare(result, level);
- else // if(compare == BooleanCondition::Different)
- return !qFuzzyCompare(result, level);
- });
+ auto it= std::find_if(level.begin(), level.end(),
+ [compare, result](int level)
+ {
+ if(compare == Dice::CompareOperator::GreaterOrEqual)
+ return result >= level;
+ else if(compare == Dice::CompareOperator::GreaterThan)
+ return result > level;
+ else if(compare == Dice::CompareOperator::LesserThan)
+ return result < level;
+ else if(compare == Dice::CompareOperator::LesserOrEqual)
+ return result <= level;
+ else if(compare == Dice::CompareOperator::Equal)
+ return qFuzzyCompare(result, level);
+ else // if(compare == BooleanCondition::Different)
+ return !qFuzzyCompare(result, level);
+ });
auto index= std::distance(level.begin(), it);
auto strResultExpected= startExperted[index];
auto resultText= strResult;
- QVERIFY2(resultText.startsWith(strResultExpected), "string result does not fit the expectation");
+ QVERIFY2(resultText.startsWith(strResultExpected),
+ QString("string result does not fit the expectation %1").arg(cmd).toStdString().c_str());
}
void TestDice::ifCommandTest_data()
@@ -1260,7 +1264,7 @@ void TestDice::switchCaseTest()
node1->setNextNode(node2);
- node1->run(nullptr);
+ node1->execute(nullptr);
auto result= node2->getResult();
auto stringResult= result->getStringResult();
diff --git a/src/tests/fuzzer/CMakeLists.txt b/src/tests/fuzzer/CMakeLists.txt
index b93a1d3..b8d55de 100644
--- a/src/tests/fuzzer/CMakeLists.txt
+++ b/src/tests/fuzzer/CMakeLists.txt
@@ -2,25 +2,22 @@ cmake_minimum_required(VERSION 3.16)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-permissive -pedantic -Wall -Wextra")
set(CMAKE_AUTOMOC ON)
-find_package(Qt6Core REQUIRED)
-find_package(Qt6Gui REQUIRED)
-find_package(Qt6Svg REQUIRED)
-find_package(Qt6Concurrent REQUIRED)
+
+set(QT_REQUIRED_VERSION "6.3.0")
+find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Svg Concurrent)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
-#SET (CMAKE_EXE_LINKER_FLAGS "-static")
-
add_definitions(-DPAINTER_OP)
set(MODE "cli")
-
-
set(fdsource testcase.cpp)
add_executable(fuzzTestCase ${fdsource} )
-target_link_libraries(fuzzTestCase libdiceparser.a Qt6::Core Qt6::Gui Qt6::Svg Qt6::Concurrent)
-#target_link_libraries(fuzzTestCase )
+target_link_libraries(fuzzTestCase PUBLIC Qt6::Core Qt6::Gui Qt6::Svg Qt6::Concurrent PRIVATE diceparser_static)
+target_include_directories(fuzzTestCase PRIVATE ../../libparser/include ../../libparser/ ../../libparser/node ../../libparser/result)
+
+#target_link_libraries(fuzzTestCase ) libdiceparser.a
diff --git a/src/tests/fuzzer/run_test.sh b/src/tests/fuzzer/run_test.sh
index 9ecdeef..e10c5d9 100755
--- a/src/tests/fuzzer/run_test.sh
+++ b/src/tests/fuzzer/run_test.sh
@@ -1,20 +1,22 @@
#!/bin/sh
rm -rf build
+rm -rf /home/renaud/applications/mine/renaudg/rolisteam/src/libraries/diceparser/src/tests/fuzzer/sync_dir/fuzzer01
mkdir build
cd build
-CC=afl-gcc CXX=afl-g++ cmake ../ -DSTATIC_BUILD=ON && make
-#export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
+CC=afl-gcc CXX=afl-g++ cmake ../ -DCMAKE_PREFIX_PATH:PATH=/home/renaud/applications/other/.qt/6.7.2/gcc_64 -DQT_QMAKE_EXECUTABLE:FILEPATH=/home/renaud/applications/other/.qt/6.7.2/gcc_64/bin/qmake -DSTATIC_BUILD=ON && make
+fuzzRoot=/home/renaud/applications/mine/renaudg/rolisteam/src/libraries/diceparser/src/tests/fuzzer
+fuzzTestCase=/home/renaud/applications/mine/renaudg/rolisteam/src/libraries/diceparser/build/src/tests/fuzzer/fuzzTestCase
#./fuzzTestCase ../testcase_dir/gooddata.txt
# afl-fuzz -m 2G -i ../testcase_dir -o ../findings_dir ./fuzzTestCase @@
-afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -M fuzzer01 ./fuzzTestCase @@ &
-screen -S fuzz1 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S fuzzer02 ./fuzzTestCase @@ &
-screen -S fuzz2 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S fuzzer03 ./fuzzTestCase @@ &
-screen -S fuzz3 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S fuzzer04 ./fuzzTestCase @@ &
-screen -S fuzz4 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S fuzzer05 ./fuzzTestCase @@ &
-screen -S fuzz5 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S fuzzer06 ./fuzzTestCase @@
+afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -M fuzzer01 $fuzzTestCase @@ &
+screen -S fuzz1 -d -m touch afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -S fuzzer02 $fuzzTestCase @@ &
+screen -S fuzz2 -d -m touch afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -S fuzzer03 $fuzzTestCase @@ &
+screen -S fuzz3 -d -m touch afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -S fuzzer04 $fuzzTestCase @@ &
+screen -S fuzz4 -d -m touch afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -S fuzzer05 $fuzzTestCase @@ &
+screen -S fuzz5 -d -m touch afl-fuzz -m 2G -i $fuzzRoot/testcase_dir -o $fuzzRoot/sync_dir -S fuzzer06 $fuzzTestCase @@
@@ -22,6 +24,6 @@ screen -S fuzz5 -d -m touch afl-fuzz -m 2G -i ../testcase_dir -o ../sync_dir -S
# echo core >/proc/sys/kernel/core_pattern
+# cd /sys/devices/system/cpu
# echo performance | tee cpu*/cpufreq/scaling_governor
-
# echo ondemand | tee cpu*/cpufreq/scaling_governor
diff --git a/src/tests/fuzzer/testcase.cpp b/src/tests/fuzzer/testcase.cpp
index 87d1867..abe79a2 100644
--- a/src/tests/fuzzer/testcase.cpp
+++ b/src/tests/fuzzer/testcase.cpp
@@ -1,7 +1,7 @@
#include <QCoreApplication>
#include <QDebug>
#include <QFile>
-#include <diceparser.h>
+#include <include/diceparser/diceparser.h>
static DiceParser* parser= new DiceParser();