@@ -92,6 +92,42 @@ def testSerializeShellOutline(self):
92
92
self .assertEqual (0 , len (list (outlineXml .find ('depends' ))))
93
93
94
94
95
+ class CoresTest (unittest .TestCase ):
96
+ def setUp (self ):
97
+ # Ensure to reset current
98
+ outline .Outline .current = None
99
+
100
+ def create (self ):
101
+ ol = outline .Outline ()
102
+ layer = outline .Layer ("test" )
103
+ ol .add_layer (layer )
104
+ return ol , layer
105
+
106
+ def assertCores (self , ol , v ):
107
+ launcher = outline .cuerun .OutlineLauncher (ol , user = TEST_USER )
108
+ outlineXml = ET .fromstring (outline .backend .cue .serialize (launcher ))
109
+ job = outlineXml .find ('job' )
110
+ layer = job .find ('layers' ).find ('layer' )
111
+ self .assertEqual (v , layer .find ('cores' ).text )
112
+
113
+ def testCores (self ):
114
+ ol , layer = self .create ()
115
+ layer .set_arg ("cores" , 42 )
116
+ self .assertCores (ol , "42.0" )
117
+
118
+ def testThreads (self ):
119
+ ol , layer = self .create ()
120
+ layer .set_arg ("threads" , 4 )
121
+ self .assertCores (ol , "4.0" )
122
+
123
+ def testCoresAndThreads (self ):
124
+ ol , layer = self .create ()
125
+ layer .set_arg ("cores" , 8 )
126
+ layer .set_arg ("threads" , 4 )
127
+ # cores overrides threads
128
+ self .assertCores (ol , "8.0" )
129
+
130
+
95
131
class BuildCommandTest (unittest .TestCase ):
96
132
def setUp (self ):
97
133
path = os .path .join (SCRIPTS_DIR , 'shell.outline' )
0 commit comments