blob: c7ef038ca9658721cd2b9e27347a1210efb9ce25 [file] [log] [blame]
Alex Miller9979b5a2012-11-01 17:36:12 -07001# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5
Alex Miller9979b5a2012-11-01 17:36:12 -07006import logging
Alex Miller3ccd77d2013-08-08 01:39:20 -07007import os
Alex Miller9979b5a2012-11-01 17:36:12 -07008
9import common
Alex Miller3ccd77d2013-08-08 01:39:20 -070010
11
12def CheckControlFileExistance(tasks):
13 """
14 Make sure that for any task that schedules a suite, that
15 test_suites/control.<suite> exists. this prevents people from accidentally
16 adding a suite to suite_scheduler.ini but not adding an actual suite
17 control file, thus resulting in their suite not running and the lab team
18 getting lots of email
19
20 @param tasks The list of tasks to check.
21 @return 0 if no missing control files are found
22 1 if there are at least one missing control files
23 """
24 corrections = False
25
26 for task in tasks:
27 suite_path = os.path.join(common.autotest_dir,
28 'test_suites', 'control.'+task.suite)
29 if not os.path.exists(suite_path):
30 corrections = True
31 logging.warn("No suite control file for %s", task.suite)
32
33 return 1 if corrections else 0