42 lines
1.9 KiB
PHP
42 lines
1.9 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Database\Factories;
|
||
|
|
|
||
|
|
use App\Models\BenchmarkRun;
|
||
|
|
use App\Models\ScenarioRun;
|
||
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||
|
|
|
||
|
|
/** @extends Factory<ScenarioRun> */
|
||
|
|
class ScenarioRunFactory extends Factory
|
||
|
|
{
|
||
|
|
public function definition(): array
|
||
|
|
{
|
||
|
|
$passed = $this->faker->boolean(60);
|
||
|
|
|
||
|
|
return [
|
||
|
|
'benchmark_run_id' => BenchmarkRun::factory(),
|
||
|
|
'ran_at' => now(),
|
||
|
|
'scenario' => $this->faker->randomElement(['kubelet_config_repair', 'deployment_unschedulable', 'systemd_unit_repair']),
|
||
|
|
'level' => $this->faker->randomElement(['off', 'low', 'medium', 'xhigh']),
|
||
|
|
'ok' => $passed,
|
||
|
|
'outcome' => $passed ? 'passed' : $this->faker->randomElement(['rejected_final', 'timeout', 'turn_cap', 'livelock', 'error']),
|
||
|
|
'wall' => round($this->faker->randomFloat(1, 30, 600), 1),
|
||
|
|
'turns' => $this->faker->numberBetween(5, 80),
|
||
|
|
'commands' => $this->faker->numberBetween(4, 75),
|
||
|
|
'repeats' => $this->faker->numberBetween(0, 10),
|
||
|
|
'submissions' => $this->faker->numberBetween(1, 5),
|
||
|
|
'rejected' => $this->faker->numberBetween(0, 4),
|
||
|
|
't_first_sub' => round($this->faker->randomFloat(1, 20, 500), 1),
|
||
|
|
'n_first_sub' => $this->faker->numberBetween(3, 70),
|
||
|
|
't_pass' => $passed ? round($this->faker->randomFloat(1, 30, 550), 1) : null,
|
||
|
|
'n_pass' => $passed ? $this->faker->numberBetween(3, 75) : null,
|
||
|
|
'gen_tokens' => $this->faker->numberBetween(500, 20000),
|
||
|
|
'vis_tokens' => $this->faker->numberBetween(400, 19000),
|
||
|
|
'rea_tokens' => $this->faker->numberBetween(0, 5000),
|
||
|
|
'verdicts' => [['n' => 1, 'at' => 264.1, 'accepted' => $passed, 'oracle' => 'sample']],
|
||
|
|
'detail' => $passed ? 'passed on submission 1' : 'never accepted',
|
||
|
|
'payload' => ['ok' => $passed],
|
||
|
|
];
|
||
|
|
}
|
||
|
|
}
|