@@ -35,6 +35,11 @@ def test_list_tasks(self):
3535 self .assertIn ("no_lifecycle_task" , self .conf .task_names )
3636 self .assertIn ("resmoke_task" , self .conf .task_names )
3737
38+ def test_list_task_groups (self ):
39+ self .assertEqual (1 , len (self .conf .task_groups ))
40+ self .assertEqual (1 , len (self .conf .task_group_names ))
41+ self .assertIn ("tg_1" , self .conf .task_group_names )
42+
3843 def test_list_lifecycle_task_names (self ):
3944 self .assertEqual (5 , len (self .conf .lifecycle_task_names ))
4045 self .assertIn ("compile" , self .conf .task_names )
@@ -44,11 +49,12 @@ def test_list_lifecycle_task_names(self):
4449 self .assertIn ("resmoke_task" , self .conf .task_names )
4550
4651 def test_list_variants (self ):
47- self .assertEqual (3 , len (self .conf .variants ))
48- self .assertEqual (3 , len (self .conf .variant_names ))
52+ self .assertEqual (4 , len (self .conf .variants ))
53+ self .assertEqual (4 , len (self .conf .variant_names ))
4954 self .assertIn ("osx-108" , self .conf .variant_names )
5055 self .assertIn ("ubuntu" , self .conf .variant_names )
5156 self .assertIn ("debian" , self .conf .variant_names )
57+ self .assertIn ("amazon" , self .conf .variant_names )
5258
5359 def test_get_variant (self ):
5460 variant = self .conf .get_variant ("osx-108" )
@@ -57,11 +63,12 @@ def test_get_variant(self):
5763 self .assertEqual ("osx-108" , variant .name )
5864
5965 def test_list_distro_names (self ):
60- self .assertEqual (4 , len (self .conf .distro_names ))
66+ self .assertEqual (5 , len (self .conf .distro_names ))
6167 self .assertIn ("localtestdistro" , self .conf .distro_names )
6268 self .assertIn ("ubuntu1404-test" , self .conf .distro_names )
6369 self .assertIn ("pdp-11" , self .conf .distro_names )
6470 self .assertIn ("debian-stretch" , self .conf .distro_names )
71+ self .assertIn ("amazon" , self .conf .distro_names )
6572
6673
6774class TestTask (unittest .TestCase ):
@@ -95,6 +102,34 @@ def test_resmoke_args(self):
95102 self .assertEqual ("core" , task .resmoke_suite )
96103
97104
105+ class TestTaskGroup (unittest .TestCase ):
106+ """Unit tests for the TaskGroup class."""
107+
108+ def test_from_list (self ):
109+ task_group_dict = {
110+ "name" : "my_group" , "max_hosts" : 3 , "tasks" : ["task1" , "task2" ], "setup_task" : [],
111+ "teardown_task" : [], "setup_group" : [], "teardown_group" : [], "timeout" : []
112+ }
113+ task_group = _evergreen .TaskGroup (task_group_dict )
114+
115+ self .assertEqual ("my_group" , task_group .name )
116+ self .assertEqual (2 , len (task_group .tasks ))
117+ self .assertEqual (task_group_dict , task_group .raw )
118+
119+ def test_resmoke_args (self ):
120+ task_dict = {
121+ "name" :
122+ "jsCore" , "commands" : [{
123+ "func" : "run tests" ,
124+ "vars" : {"resmoke_args" : "--suites=core --shellWriteMode=commands" }
125+ }]
126+ }
127+ task = _evergreen .Task (task_dict )
128+
129+ self .assertEqual ("--suites=core --shellWriteMode=commands" , task .resmoke_args )
130+ self .assertEqual ("core" , task .resmoke_suite )
131+
132+
98133class TestVariant (unittest .TestCase ):
99134 """Unit tests for the Variant class."""
100135
@@ -105,13 +140,14 @@ def setUpClass(cls):
105140 def test_from_dict (self ):
106141 task = _evergreen .Task ({"name" : "compile" })
107142 tasks_map = {task .name : task }
143+ task_groups_map = {}
108144 variant_dict = {
109145 "name" : "ubuntu" ,
110146 "display_name" : "Ubuntu" ,
111147 "run_on" : ["ubuntu1404-test" ],
112148 "tasks" : [{"name" : "compile" }],
113149 }
114- variant = _evergreen .Variant (variant_dict , tasks_map )
150+ variant = _evergreen .Variant (variant_dict , tasks_map , task_groups_map )
115151
116152 self .assertEqual ("ubuntu" , variant .name )
117153 self .assertEqual ("Ubuntu" , variant .display_name )
@@ -194,3 +230,8 @@ def test_variant_tasks(self):
194230 resmoke_task = variant_debian .get_task ("resmoke_task" )
195231 self .assertEqual ("--suites=somesuite --storageEngine=mmapv1" ,
196232 resmoke_task .combined_resmoke_args )
233+
234+ # Check for tasks included in task_groups
235+ variant_amazon = self .conf .get_variant ("amazon" )
236+ self .assertEqual (3 , len (variant_amazon .tasks ))
237+ self .assertIn ("compile" , variant_amazon .task_names )
0 commit comments