diff --git a/plugins/amda/tests/FuzzingDefs.cpp b/plugins/amda/tests/FuzzingDefs.cpp index 03b7b72..c3ca9b0 100644 --- a/plugins/amda/tests/FuzzingDefs.cpp +++ b/plugins/amda/tests/FuzzingDefs.cpp @@ -9,7 +9,7 @@ const QString INITIAL_RANGE_PROPERTY = QStringLiteral("initialRange"); const QString MAX_RANGE_PROPERTY = QStringLiteral("maxRange"); const QString METADATA_POOL_PROPERTY = QStringLiteral("metadataPool"); const QString PROVIDER_PROPERTY = QStringLiteral("provider"); -const QString OPERATION_DELAY_PROPERTY = QStringLiteral("operationDelay"); +const QString OPERATION_DELAY_BOUNDS_PROPERTY = QStringLiteral("operationDelays"); const QString VALIDATORS_PROPERTY = QStringLiteral("validators"); // //////////// // diff --git a/plugins/amda/tests/FuzzingDefs.h b/plugins/amda/tests/FuzzingDefs.h index 1fa585b..9a2bc46 100644 --- a/plugins/amda/tests/FuzzingDefs.h +++ b/plugins/amda/tests/FuzzingDefs.h @@ -50,8 +50,8 @@ extern const QString METADATA_POOL_PROPERTY; /// Provider used to retrieve data extern const QString PROVIDER_PROPERTY; -/// Time left for an operation to execute -extern const QString OPERATION_DELAY_PROPERTY; +/// Min/max times left for an operation to execute +extern const QString OPERATION_DELAY_BOUNDS_PROPERTY; /// Validators used to validate an operation extern const QString VALIDATORS_PROPERTY; diff --git a/plugins/amda/tests/TestAmdaFuzzing.cpp b/plugins/amda/tests/TestAmdaFuzzing.cpp index 649bd58..686542d 100644 --- a/plugins/amda/tests/TestAmdaFuzzing.cpp +++ b/plugins/amda/tests/TestAmdaFuzzing.cpp @@ -54,8 +54,8 @@ const auto AVAILABLE_OPERATIONS_DEFAULT_VALUE = QVariant::fromValue(WeightedOper {FuzzingOperationType::DESYNCHRONIZE, 0.4}}); const auto CACHE_TOLERANCE_DEFAULT_VALUE = 0.2; -/// Delay between each operation (in ms) -const auto OPERATION_DELAY_DEFAULT_VALUE = 3000; +/// Min/max delays between each operation (in ms) +const auto OPERATION_DELAY_BOUNDS_DEFAULT_VALUE = QVariant::fromValue(std::make_pair(100, 3000)); /// Validators for the tests (executed in the order in which they're defined) const auto VALIDATORS_DEFAULT_VALUE = QVariant::fromValue( @@ -184,7 +184,13 @@ public: fuzzingOperation->execute(variableId, m_FuzzingState, m_VariableController, m_Properties); - QTest::qWait(operationDelay()); + + // Delays the next operation with a randomly generated time + auto delay = RandomGenerator::instance().generateInt(operationDelays().first, + operationDelays().second); + qCDebug(LOG_TestAmdaFuzzing()) + << "Waiting " << delay << "ms before the next operation..."; + QTest::qWait(delay); // Validates variables validate(m_FuzzingState.m_VariablesPool, validators()); @@ -222,10 +228,12 @@ private: return result; } - int operationDelay() const + std::pair operationDelays() const { static auto result - = m_Properties.value(OPERATION_DELAY_PROPERTY, OPERATION_DELAY_DEFAULT_VALUE).toInt(); + = m_Properties + .value(OPERATION_DELAY_BOUNDS_PROPERTY, OPERATION_DELAY_BOUNDS_DEFAULT_VALUE) + .value >(); return result; }