diff options
Diffstat (limited to 'pintos-progos/tests/threads/mlfqs-recent-1.ck')
| -rw-r--r-- | pintos-progos/tests/threads/mlfqs-recent-1.ck | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pintos-progos/tests/threads/mlfqs-recent-1.ck b/pintos-progos/tests/threads/mlfqs-recent-1.ck new file mode 100644 index 0000000..a2ba44d --- /dev/null +++ b/pintos-progos/tests/threads/mlfqs-recent-1.ck | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | # -*- perl -*- | ||
| 2 | use strict; | ||
| 3 | use warnings; | ||
| 4 | use tests::tests; | ||
| 5 | use tests::threads::mlfqs; | ||
| 6 | |||
| 7 | our ($test); | ||
| 8 | my (@output) = read_text_file ("$test.output"); | ||
| 9 | common_checks ("run", @output); | ||
| 10 | @output = get_core_output ("run", @output); | ||
| 11 | |||
| 12 | # Get actual values. | ||
| 13 | local ($_); | ||
| 14 | my (@actual); | ||
| 15 | foreach (@output) { | ||
| 16 | my ($t, $recent_cpu) = /After (\d+) seconds, recent_cpu is (\d+\.\d+),/ | ||
| 17 | or next; | ||
| 18 | $actual[$t] = $recent_cpu; | ||
| 19 | } | ||
| 20 | |||
| 21 | # Calculate expected values. | ||
| 22 | my ($expected_load_avg, $expected_recent_cpu) | ||
| 23 | = mlfqs_expected_load ([(1) x 180], [(100) x 180]); | ||
| 24 | my (@expected) = @$expected_recent_cpu; | ||
| 25 | |||
| 26 | # Compare actual and expected values. | ||
| 27 | mlfqs_compare ("time", "%.2f", \@actual, \@expected, 2.5, [2, 178, 2], | ||
| 28 | "Some recent_cpu values were missing or " | ||
| 29 | . "differed from those expected " | ||
| 30 | . "by more than 2.5."); | ||
| 31 | pass; | ||
