summaryrefslogtreecommitdiffstats
path: root/pintos-progos/tests/threads/mlfqs-load-60.ck
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2012-03-26 12:54:45 +0200
committermanuel <manuel@mausz.at>2012-03-26 12:54:45 +0200
commitb5f0874cd96ee2a62aabc645b9626c2749cb6a01 (patch)
tree1262e4bbe0634de6650be130c36e0538240f4cbf /pintos-progos/tests/threads/mlfqs-load-60.ck
downloadprogos-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.ck36
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 -*-
2use strict;
3use warnings;
4use tests::tests;
5use tests::threads::mlfqs;
6
7our ($test);
8
9my (@output) = read_text_file ("$test.output");
10common_checks ("run", @output);
11@output = get_core_output ("run", @output);
12
13# Get actual values.
14local ($_);
15my (@actual);
16foreach (@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.
23my ($load_avg) = 0;
24my ($recent) = 0;
25my (@expected);
26for (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
32mlfqs_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.");
36pass;