Пример #1
0
 def test_merge_three_conditions(self):
   values = {
     ('linux',): {
       'isolate_dependency_tracked': ['file_common', 'file_linux'],
     },
     ('mac',): {
       'isolate_dependency_tracked': ['file_common', 'file_mac'],
     },
     ('win',): {
       'isolate_dependency_tracked': ['file_common', 'file_win'],
     },
   }
   expected = {
     'conditions': [
       ['OS=="linux"', {
         'variables': {
           'isolate_dependency_tracked': [
             'file_linux',
           ],
         },
       }],
       ['OS=="linux" or OS=="mac" or OS=="win"', {
         'variables': {
           'isolate_dependency_tracked': [
             'file_common',
           ],
         },
       }],
       ['OS=="mac"', {
         'variables': {
           'isolate_dependency_tracked': [
             'file_mac',
           ],
         },
       }],
       ['OS=="win"', {
         'variables': {
           'isolate_dependency_tracked': [
             'file_win',
           ],
         },
       }],
     ],
   }
   actual = isolate_format.convert_map_to_isolate_dict(
       isolate_format.reduce_inputs(isolate_format.invert_map(values)),
       ('OS',))
   self.assertEqual(expected, actual)
Пример #2
0
 def test_merge_empty(self):
   actual = isolate_format.convert_map_to_isolate_dict(
       isolate_format.reduce_inputs(isolate_format.invert_map({})),
       ('dummy1', 'dummy2'))
   self.assertEqual({'conditions': []}, actual)
Пример #3
0
 def test_convert_map_to_isolate_dict(self):
   amiga = ('amiga',)
   atari = ('atari',)
   coleco = ('coleco',)
   dendy = ('dendy',)
   values = {
     'command': {
       ('echo', 'Hello World'): (atari,),
       ('echo', 'You should get an Atari'): (amiga, coleco, dendy),
     },
     KEY_TRACKED: {
       'a': (amiga, atari, coleco, dendy),
       'c': (atari,),
       'e': (amiga, coleco, dendy),
       'g': (amiga,),
       'x': (amiga, atari, coleco, dendy),
     },
     KEY_UNTRACKED: {
       'b': (amiga, atari, coleco, dendy),
       'd': (atari,),
       'f': (amiga, coleco, dendy),
       'h': (amiga, atari, dendy),
     },
     KEY_TOUCHED: {
       'touched': (amiga, atari, coleco, dendy),
       'touched_a': (atari,),
       'touched_e': (amiga, coleco, dendy),
     },
     'read_only': {
       0: (amiga,),
       1: (atari,),
     },
   }
   expected_conditions = [
     ['OS=="amiga"', {
       'variables': {
         KEY_TRACKED: ['g'],
         'read_only': 0,
       },
     }],
     ['OS=="amiga" or OS=="atari" or OS=="coleco" or OS=="dendy"', {
       'variables': {
         KEY_TRACKED: ['a', 'x'],
         KEY_UNTRACKED: ['b'],
         KEY_TOUCHED: ['touched'],
       },
     }],
     ['OS=="amiga" or OS=="atari" or OS=="dendy"', {
       'variables': {
         KEY_UNTRACKED: ['h'],
       },
     }],
     ['OS=="amiga" or OS=="coleco" or OS=="dendy"', {
       'variables': {
         'command': ['echo', 'You should get an Atari'],
         KEY_TRACKED: ['e'],
         KEY_UNTRACKED: ['f'],
         KEY_TOUCHED: ['touched_e'],
       },
     }],
     ['OS=="atari"', {
       'variables': {
         'command': ['echo', 'Hello World'],
         KEY_TRACKED: ['c'],
         KEY_UNTRACKED: ['d'],
         KEY_TOUCHED: ['touched_a'],
         'read_only': 1,
       },
     }],
   ]
   actual = isolate_format.convert_map_to_isolate_dict(values, ('OS',))
   self.assertEqual(expected_conditions, sorted(actual.pop('conditions')))
   self.assertFalse(actual)