##// END OF EJS Templates
Randomizes the time to wait between each operations (defines min/max delays)
Alexandre Leroux -
r1243:99981a2cca28
parent child
Show More
@@ -9,7 +9,7 const QString INITIAL_RANGE_PROPERTY = QStringLiteral("initialRange");
9 const QString MAX_RANGE_PROPERTY = QStringLiteral("maxRange");
9 const QString MAX_RANGE_PROPERTY = QStringLiteral("maxRange");
10 const QString METADATA_POOL_PROPERTY = QStringLiteral("metadataPool");
10 const QString METADATA_POOL_PROPERTY = QStringLiteral("metadataPool");
11 const QString PROVIDER_PROPERTY = QStringLiteral("provider");
11 const QString PROVIDER_PROPERTY = QStringLiteral("provider");
12 const QString OPERATION_DELAY_PROPERTY = QStringLiteral("operationDelay");
12 const QString OPERATION_DELAY_BOUNDS_PROPERTY = QStringLiteral("operationDelays");
13 const QString VALIDATORS_PROPERTY = QStringLiteral("validators");
13 const QString VALIDATORS_PROPERTY = QStringLiteral("validators");
14
14
15 // //////////// //
15 // //////////// //
@@ -50,8 +50,8 extern const QString METADATA_POOL_PROPERTY;
50 /// Provider used to retrieve data
50 /// Provider used to retrieve data
51 extern const QString PROVIDER_PROPERTY;
51 extern const QString PROVIDER_PROPERTY;
52
52
53 /// Time left for an operation to execute
53 /// Min/max times left for an operation to execute
54 extern const QString OPERATION_DELAY_PROPERTY;
54 extern const QString OPERATION_DELAY_BOUNDS_PROPERTY;
55
55
56 /// Validators used to validate an operation
56 /// Validators used to validate an operation
57 extern const QString VALIDATORS_PROPERTY;
57 extern const QString VALIDATORS_PROPERTY;
@@ -54,8 +54,8 const auto AVAILABLE_OPERATIONS_DEFAULT_VALUE = QVariant::fromValue(WeightedOper
54 {FuzzingOperationType::DESYNCHRONIZE, 0.4}});
54 {FuzzingOperationType::DESYNCHRONIZE, 0.4}});
55 const auto CACHE_TOLERANCE_DEFAULT_VALUE = 0.2;
55 const auto CACHE_TOLERANCE_DEFAULT_VALUE = 0.2;
56
56
57 /// Delay between each operation (in ms)
57 /// Min/max delays between each operation (in ms)
58 const auto OPERATION_DELAY_DEFAULT_VALUE = 3000;
58 const auto OPERATION_DELAY_BOUNDS_DEFAULT_VALUE = QVariant::fromValue(std::make_pair(100, 3000));
59
59
60 /// Validators for the tests (executed in the order in which they're defined)
60 /// Validators for the tests (executed in the order in which they're defined)
61 const auto VALIDATORS_DEFAULT_VALUE = QVariant::fromValue(
61 const auto VALIDATORS_DEFAULT_VALUE = QVariant::fromValue(
@@ -184,7 +184,13 public:
184
184
185 fuzzingOperation->execute(variableId, m_FuzzingState, m_VariableController,
185 fuzzingOperation->execute(variableId, m_FuzzingState, m_VariableController,
186 m_Properties);
186 m_Properties);
187 QTest::qWait(operationDelay());
187
188 // Delays the next operation with a randomly generated time
189 auto delay = RandomGenerator::instance().generateInt(operationDelays().first,
190 operationDelays().second);
191 qCDebug(LOG_TestAmdaFuzzing())
192 << "Waiting " << delay << "ms before the next operation...";
193 QTest::qWait(delay);
188
194
189 // Validates variables
195 // Validates variables
190 validate(m_FuzzingState.m_VariablesPool, validators());
196 validate(m_FuzzingState.m_VariablesPool, validators());
@@ -222,10 +228,12 private:
222 return result;
228 return result;
223 }
229 }
224
230
225 int operationDelay() const
231 std::pair<int, int> operationDelays() const
226 {
232 {
227 static auto result
233 static auto result
228 = m_Properties.value(OPERATION_DELAY_PROPERTY, OPERATION_DELAY_DEFAULT_VALUE).toInt();
234 = m_Properties
235 .value(OPERATION_DELAY_BOUNDS_PROPERTY, OPERATION_DELAY_BOUNDS_DEFAULT_VALUE)
236 .value<std::pair<int, int> >();
229 return result;
237 return result;
230 }
238 }
231
239
General Comments 0
You need to be logged in to leave comments. Login now