configurationengine/source/plugins/common/ConeRulePlugin/ruleplugin/evals/tests/layer_filtering_project/assets/base/implml/uses_layers_test.ruleml
changeset 3 e7e0ae78773e
equal deleted inserted replaced
2:87cfa131b535 3:e7e0ae78773e
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <ruleml xmlns="http://www.s60.com/xml/ruleml/3">
       
     3     <!-- This RuleML is used when running the integration test, it is not used in unit tests -->
       
     4     <phase name="post"/>
       
     5 	<rule>{% check_uses_layer() %} configures "foo" = "baar"
       
     6     </rule>
       
     7     <eval_globals>
       
     8 import os
       
     9 
       
    10 from ruleplugin.evals import layer_utils
       
    11 
       
    12 def check_uses_layer():
       
    13     results = [('Layer', 'Tag', 'Expected', 'Actual', 'Outcome')]
       
    14     
       
    15     def check(layer_index, tag, expected):
       
    16         layer = ruleml.configuration.get_configuration_by_index(layer_index)
       
    17         result = layer_utils.layers_used(ruleml.configuration, [layer], {'target' : [tag]})
       
    18         
       
    19         if result == expected:  outcome = "OK"
       
    20         else:                   outcome = "FAIL"
       
    21         
       
    22         results.append((layer.get_path(), tag, expected, result, outcome))
       
    23     
       
    24     # BASE
       
    25     check(layer_index = 0, tag = 'uda',   expected = True)
       
    26     check(layer_index = 0, tag = 'rofs3', expected = True)
       
    27     check(layer_index = 0, tag = 'rofs2', expected = True)
       
    28     
       
    29     # LAYER 1
       
    30     check(layer_index = 1, tag = 'uda',   expected = True)
       
    31     check(layer_index = 1, tag = 'rofs3', expected = False)
       
    32     check(layer_index = 1, tag = 'rofs2', expected = False)
       
    33     
       
    34     # LAYER 2
       
    35     check(layer_index = 2, tag = 'uda',   expected = False)
       
    36     check(layer_index = 2, tag = 'rofs3', expected = False)
       
    37     check(layer_index = 2, tag = 'rofs2', expected = True)
       
    38     
       
    39     # LAYER 3
       
    40     check(layer_index = 3, tag = 'uda',   expected = False)
       
    41     check(layer_index = 3, tag = 'rofs3', expected = False)
       
    42     check(layer_index = 3, tag = 'rofs2', expected = False)
       
    43     
       
    44     # LAYER 4
       
    45     check(layer_index = 4, tag = 'uda',   expected = True)
       
    46     check(layer_index = 4, tag = 'rofs3', expected = False)
       
    47     check(layer_index = 4, tag = 'rofs2', expected = False)
       
    48     
       
    49     # LAYER 5
       
    50     check(layer_index = 5, tag = 'uda',   expected = False)
       
    51     check(layer_index = 5, tag = 'rofs3', expected = True)
       
    52     check(layer_index = 5, tag = 'rofs2', expected = False)
       
    53     
       
    54     # LAYER 6
       
    55     check(layer_index = 6, tag = 'uda',   expected = True)
       
    56     check(layer_index = 6, tag = 'rofs3', expected = True)
       
    57     check(layer_index = 6, tag = 'rofs2', expected = False)
       
    58     
       
    59     # LAYER 7
       
    60     check(layer_index = 7, tag = 'uda',   expected = True)
       
    61     check(layer_index = 7, tag = 'rofs3', expected = False)
       
    62     check(layer_index = 7, tag = 'rofs2', expected = False)
       
    63     
       
    64     # LAYER 8
       
    65     check(layer_index = 8, tag = 'uda',   expected = False)
       
    66     check(layer_index = 8, tag = 'rofs3', expected = False)
       
    67     check(layer_index = 8, tag = 'rofs2', expected = False)
       
    68     
       
    69     # LAYER 9
       
    70     check(layer_index = 9, tag = 'uda',   expected = True)
       
    71     check(layer_index = 9, tag = 'rofs3', expected = False)
       
    72     check(layer_index = 9, tag = 'rofs2', expected = False)
       
    73     
       
    74     # LAYER 10
       
    75     check(layer_index = 10, tag = 'uda',   expected = True)
       
    76     check(layer_index = 10, tag = 'rofs3', expected = False)
       
    77     check(layer_index = 10, tag = 'rofs2', expected = False)
       
    78     
       
    79     # LAYER 11
       
    80     check(layer_index = 11, tag = 'uda',   expected = True)
       
    81     check(layer_index = 11, tag = 'rofs3', expected = False)
       
    82     check(layer_index = 11, tag = 'rofs2', expected = False)
       
    83     
       
    84     # Write the results to output
       
    85     f = open(os.path.join(ruleml.context.output, 'uses_layers_test.txt'),'w')
       
    86     try:
       
    87         # Column widths
       
    88         layer_cw      = max([len(str(r[0])) for r in results]) + 2
       
    89         tag_cw        = max([len(str(r[1])) for r in results]) + 2
       
    90         expected_cw   = max([len(str(r[2])) for r in results])
       
    91         actual_cw     = max([len(str(r[3])) for r in results]) + 2
       
    92         
       
    93         format = "%%-%ss %%-%ss %%-%ss %%-%ss %%s\n" % (layer_cw, tag_cw, expected_cw, actual_cw)
       
    94         for r in results:
       
    95             f.write(format % r)
       
    96     finally:
       
    97         f.close()
       
    98     
       
    99 </eval_globals>
       
   100 </ruleml>