Project

General

Profile

root / branches / 1.1 / tests / gen_deadline10_lwfs.py @ 847

1
from mx.DateTime import TimeDelta
2

    
3
A_prematureends = [True, False]
4
BC_prematureends = [True, False]
5
BC_requesttimes = [(TimeDelta(minutes=15), TimeDelta(minutes=20)),
6
                   (TimeDelta(minutes=40), TimeDelta(minutes=45)),
7
                   (TimeDelta(minutes=45), TimeDelta(minutes=105))]
8

    
9
numfile = 1
10

    
11
for A_prematureend in A_prematureends:
12
    for BC_prematureend in BC_prematureends:
13
        for (B_requesttime, C_requesttime) in BC_requesttimes:
14
            f = open ("deadline10-%i.lwf" % numfile, "w")
15
            
16
            print >> f, """<?xml version="1.0"?>
17
<lease-workload name="deadline10">
18
  <description>
19
  """
20

    
21
            if A_prematureend:
22
                print >> f, "First lease ends prematurely."
23
            else:
24
                print >> f, "First lease does not end prematurely."
25

    
26
            if BC_prematureend:
27
                print >> f, "Second and third lease end prematurely."
28
            else:
29
                print >> f, "Second and third lease do not end prematurely."
30

    
31
            print >> f, "Second and third lease start at %s and %s" % (B_requesttime, C_requesttime)
32
            
33
            print >> f, """
34
  </description>
35

36
  <site>
37
    <resource-types names="CPU Memory"/>
38
    <nodes>
39
      <node-set numnodes="4">
40
        <res type="CPU" amount="100"/>
41
        <res type="Memory" amount="1024"/>
42
      </node-set>
43
    </nodes>
44
  </site>
45
  <lease-requests>
46

47
    <lease-request arrival="00:00:00.00">"""
48
            if A_prematureend:
49
                 print >> f, """<realduration time="01:30:00.00"/>"""
50
                 
51
            print >> f, """
52
      <lease id="1" preemptible="true">
53
        <nodes>
54
          <node-set numnodes="4">
55
            <res amount="100" type="CPU"/>
56
            <res amount="1024" type="Memory"/>
57
          </node-set>
58
        </nodes>
59
        <start>
60
          <exact time="00:30:00.00"/>
61
        </start>
62
        <duration time="02:00:00.00"/>
63
        <deadline time="10:00:00.00"/>
64
        <software>
65
          <disk-image id="foobar1.img" size="1024"/>
66
        </software>
67
      </lease>
68
    </lease-request>
69
    <lease-request arrival="%s">""" % B_requesttime
70
            if BC_prematureend:
71
                 print >> f, """<realduration time="00:10:00.00"/>"""
72
                 
73
            print >> f, """
74
      <lease id="2" preemptible="true">
75
        <nodes>
76
          <node-set numnodes="4">
77
            <res amount="100" type="CPU"/>
78
            <res amount="1024" type="Memory"/>
79
          </node-set>
80
        </nodes>
81
        <start>
82
          <exact time="01:00:00.00"/>
83
        </start>
84
        <duration time="00:15:00.00"/>
85
        <deadline time="01:15:00.00"/>
86
        <software>
87
          <disk-image id="foobar1.img" size="1024"/>
88
        </software>
89
      </lease>
90
    </lease-request>
91
    <lease-request arrival="%s">""" % C_requesttime
92
            if BC_prematureend:
93
                 print >> f, """<realduration time="00:10:00.00"/>"""
94
                 
95
            print >> f, """
96
      <lease id="3" preemptible="true">
97
        <nodes>
98
          <node-set numnodes="4">
99
            <res amount="100" type="CPU"/>
100
            <res amount="1024" type="Memory"/>
101
          </node-set>
102
        </nodes>
103
        <start>
104
          <exact time="02:00:00.00"/>
105
        </start>
106
        <duration time="00:15:00.00"/>
107
        <deadline time="02:15:00.00"/>
108
        <software>
109
          <disk-image id="foobar1.img" size="1024"/>
110
        </software>
111
      </lease>
112
    </lease-request>
113
  </lease-requests>
114
</lease-workload>"""
115

    
116
            f.close()
117
            print "    def test_deadline10_%i(self):" % numfile
118
            print "        self._tracefile_test(\"deadline10-%i.lwf\")" % numfile
119
            print "        self._verify_done([1,2,3])"
120
            print
121
            numfile += 1