diff options
| author | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2012-03-26 12:54:45 +0200 |
| commit | b5f0874cd96ee2a62aabc645b9626c2749cb6a01 (patch) | |
| tree | 1262e4bbe0634de6650be130c36e0538240f4cbf /pintos-progos/tests/threads/mlfqs-load-60.ck | |
| download | progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.gz progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.tar.bz2 progos-b5f0874cd96ee2a62aabc645b9626c2749cb6a01.zip | |
initial pintos checkin
Diffstat (limited to 'pintos-progos/tests/threads/mlfqs-load-60.ck')
| -rw-r--r-- | pintos-progos/tests/threads/mlfqs-load-60.ck | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pintos-progos/tests/threads/mlfqs-load-60.ck b/pintos-progos/tests/threads/mlfqs-load-60.ck new file mode 100644 index 0000000..cb69220 --- /dev/null +++ b/pintos-progos/tests/threads/mlfqs-load-60.ck | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | # -*- perl -*- | ||
| 2 | use strict; | ||
| 3 | use warnings; | ||
| 4 | use tests::tests; | ||
| 5 | use tests::threads::mlfqs; | ||
| 6 | |||
| 7 | our ($test); | ||
| 8 | |||
| 9 | my (@output) = read_text_file ("$test.output"); | ||
| 10 | common_checks ("run", @output); | ||
| 11 | @output = get_core_output ("run", @output); | ||
| 12 | |||
| 13 | # Get actual values. | ||
| 14 | local ($_); | ||
| 15 | my (@actual); | ||
| 16 | foreach (@output) { | ||
| 17 | my ($t, $load_avg) = /After (\d+) seconds, load average=(\d+\.\d+)\./ | ||
| 18 | or next; | ||
| 19 | $actual[$t] = $load_avg; | ||
| 20 | } | ||
| 21 | |||
| 22 | # Calculate expected values. | ||
| 23 | my ($load_avg) = 0; | ||
| 24 | my ($recent) = 0; | ||
| 25 | my (@expected); | ||
| 26 | for (my ($t) = 0; $t < 180; $t++) { | ||
| 27 | my ($ready) = $t < 60 ? 60 : 0; | ||
| 28 | $load_avg = (59/60) * $load_avg + (1/60) * $ready; | ||
| 29 | $expected[$t] = $load_avg; | ||
| 30 | } | ||
| 31 | |||
| 32 | mlfqs_compare ("time", "%.2f", \@actual, \@expected, 3.5, [2, 178, 2], | ||
| 33 | "Some load average values were missing or " | ||
| 34 | . "differed from those expected " | ||
| 35 | . "by more than 3.5."); | ||
| 36 | pass; | ||
