Project

General

Profile

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

1
from haizea.core.leases import LeaseWorkload, LeaseAnnotation, LeaseAnnotations, UnmanagedSoftwareEnvironment, DiskImageSoftwareEnvironment, Timestamp
2
from mx.DateTime import Time, DateTime
3
from common import *
4
from haizea.common.utils import reset_lease_id_counter
5

    
6
def get_config():
7
    return load_configfile("base_config_simulator.conf")
8
            
9
def test_annotation1():
10
    reset_lease_id_counter()
11
    lease_workload = LeaseWorkload.from_xml_file("preemption.lwf")
12
    annotations = LeaseAnnotations.from_xml_file("annotations1.lwfa")
13
    leases = lease_workload.get_leases()
14

    
15
    annotations.apply_to_leases(leases)
16

    
17
    lease1 = leases[0]
18
    lease2 = leases[1]
19

    
20
    assert lease1.start.requested == DateTime(0, 1, 1, 10)
21
    assert lease1.deadline == DateTime(0, 1, 1, 20)
22
    assert isinstance(lease1.software, UnmanagedSoftwareEnvironment)
23
    assert lease1.extras["one"] == "1"
24
    assert lease1.extras["two"] == "2"
25
        
26
    assert lease2.start.requested == Timestamp.UNSPECIFIED
27
    assert lease2.deadline == None
28
    assert isinstance(lease2.software, DiskImageSoftwareEnvironment)
29
    assert lease2.software.image_id == "annotation.img"
30
    assert lease2.software.image_size == 4096
31
    assert lease2.extras["three"] == "3"
32
    assert lease2.extras["four"] == "4"
33

    
34
def test_annotation_simul():
35
    c= get_config()
36
    c.set("tracefile", "annotationfile", "annotations2.lwfa")
37
    h = load_tracefile(c, PREEMPTION_TRACE)
38
    h.start()    
39
   
40
    lease1 = h.scheduler.completed_leases.get_lease(1)
41
    lease2 = h.scheduler.completed_leases.get_lease(2)
42
    
43
    assert lease1.start.requested == DateTime(2006, 11, 25, 14)
44
    assert lease1.deadline == None
45
    assert isinstance(lease1.software, DiskImageSoftwareEnvironment)
46
    assert lease1.software.image_id == "annotation1.img"
47
    assert lease1.software.image_size == 4096
48
    assert lease1.extras["five"] == "5"
49
    assert lease1.extras["six"] == "6"
50
        
51
    assert lease2.start.requested == DateTime(2006, 11, 25, 15, 15)
52
    assert lease2.deadline == None
53
    assert isinstance(lease2.software, DiskImageSoftwareEnvironment)
54
    assert lease2.software.image_id == "annotation2.img"
55
    assert lease2.software.image_size == 4096
56
    assert lease2.extras["seven"] == "7"
57
    assert lease2.extras["eight"] == "8"