Commit d5ca7596 authored by Garrett Beaty's avatar Garrett Beaty Committed by Commit Bot

Add a flag for the location of the LUCI configuration files.

In order to generate internal testing JSON files, the configuration
files must be read from src-internal rather than src or all of the
builders will be flagged as unknown.

Bug: 1078933
Change-Id: Ic659675778256c7fb2e2df5409dbc35e72ff3b46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2186451
Commit-Queue: Garrett Beaty <gbeaty@chromium.org>
Reviewed-by: default avatarStephen Martinis <martiniss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#766448}
parent f5fb7c8e
...@@ -12,6 +12,7 @@ import ast ...@@ -12,6 +12,7 @@ import ast
import collections import collections
import copy import copy
import difflib import difflib
import glob
import itertools import itertools
import json import json
import os import os
...@@ -1291,19 +1292,12 @@ class BBJSONGenerator(object): ...@@ -1291,19 +1292,12 @@ class BBJSONGenerator(object):
# their presubmit to run `generate_buildbot_json.py -c`, so that the tree # their presubmit to run `generate_buildbot_json.py -c`, so that the tree
# never ends up in an invalid state. # never ends up in an invalid state.
bot_names = set() bot_names = set()
infra_config_dir = os.path.abspath( milo_configs = glob.glob(
os.path.join(os.path.dirname(__file__), os.path.join(self.args.infra_config_dir, 'generated', 'luci-milo*.cfg'))
'..', '..', 'infra', 'config'))
milo_configs = [
os.path.join(infra_config_dir, 'generated', 'luci-milo.cfg'),
os.path.join(infra_config_dir, 'generated', 'luci-milo-dev.cfg'),
]
for c in milo_configs: for c in milo_configs:
for l in self.read_file(c).splitlines(): for l in self.read_file(c).splitlines():
if (not 'name: "buildbucket/luci.chromium.' in l and if (not 'name: "buildbucket/luci.chromium.' in l and
not 'name: "buildbucket/luci.chrome.' in l and not 'name: "buildbucket/luci.chrome.' in l):
not 'name: "buildbot/chromium.' in l and
not 'name: "buildbot/tryserver.chromium.' in l):
continue continue
# l looks like # l looks like
# `name: "buildbucket/luci.chromium.try/win_chromium_dbg_ng"` # `name: "buildbucket/luci.chromium.try/win_chromium_dbg_ng"`
...@@ -1824,9 +1818,16 @@ class BBJSONGenerator(object): ...@@ -1824,9 +1818,16 @@ class BBJSONGenerator(object):
"Examples:\n" + "Examples:\n" +
" Outputs file into specified json file: \n" + " Outputs file into specified json file: \n" +
" --json <file-name-here.json>")) " --json <file-name-here.json>"))
parser.add_argument(
'--infra-config-dir',
help='Path to the LUCI services configuration directory',
default=os.path.abspath(
os.path.join(os.path.dirname(__file__),
'..', '..', 'infra', 'config')))
self.args = parser.parse_args(argv) self.args = parser.parse_args(argv)
if self.args.json and not self.args.query: if self.args.json and not self.args.query:
parser.error("The --json flag can only be used with --query.") parser.error("The --json flag can only be used with --query.")
self.args.infra_config_dir = os.path.abspath(self.args.infra_config_dir)
def does_test_match(self, test_info, params_dict): def does_test_match(self, test_info, params_dict):
"""Checks to see if the test matches the parameters given. """Checks to see if the test matches the parameters given.
......
...@@ -29,6 +29,10 @@ def dump_on_failure(fbb, dump=True): ...@@ -29,6 +29,10 @@ def dump_on_failure(fbb, dump=True):
print l print l
raise raise
def override_args(fbb, **kwargs):
for k, v in kwargs.iteritems():
setattr(fbb.args, k, v)
class FakeBBGen(generate_buildbot_json.BBJSONGenerator): class FakeBBGen(generate_buildbot_json.BBJSONGenerator):
def __init__(self, waterfalls, test_suites, luci_milo_cfg, def __init__(self, waterfalls, test_suites, luci_milo_cfg,
exceptions=EMPTY_PYL_FILE, exceptions=EMPTY_PYL_FILE,
...@@ -2887,8 +2891,7 @@ class UnitTest(unittest.TestCase): ...@@ -2887,8 +2891,7 @@ class UnitTest(unittest.TestCase):
REUSING_TEST_WITH_DIFFERENT_NAME, REUSING_TEST_WITH_DIFFERENT_NAME,
LUCI_MILO_CFG, LUCI_MILO_CFG,
gn_isolate_map=GN_ISOLATE_MAP) gn_isolate_map=GN_ISOLATE_MAP)
fbb.args = argparse.Namespace( override_args(fbb, pyl_files_dir='relative/path/', waterfall_filters=[])
pyl_files_dir='relative/path/', waterfall_filters=[])
for file_name in list(fbb.files): for file_name in list(fbb.files):
if not 'luci-milo.cfg' in file_name: if not 'luci-milo.cfg' in file_name:
fbb.files[os.path.join('relative/path/', file_name)] = ( fbb.files[os.path.join('relative/path/', file_name)] = (
...@@ -4278,9 +4281,9 @@ class QueryTests(unittest.TestCase): ...@@ -4278,9 +4281,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bots', check=False, override_args(fbb, query='bots',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_BOTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_BOTS_OUTPUT)
...@@ -4290,9 +4293,9 @@ class QueryTests(unittest.TestCase): ...@@ -4290,9 +4293,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bots/blah/blah', check=False, override_args(fbb, query='bots/blah/blah',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4303,9 +4306,9 @@ class QueryTests(unittest.TestCase): ...@@ -4303,9 +4306,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bots', check=False, override_args(fbb, query='bots',
pyl_files_dir=None, json='result.json', check=False, pyl_files_dir=None,
waterfall_filters = []) json='result.json', waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertFalse(fbb.printed_lines) self.assertFalse(fbb.printed_lines)
...@@ -4314,9 +4317,9 @@ class QueryTests(unittest.TestCase): ...@@ -4314,9 +4317,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bots/tests', check=False, override_args(fbb, query='bots/tests',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_BOTS_TESTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_BOTS_TESTS_OUTPUT)
...@@ -4326,9 +4329,9 @@ class QueryTests(unittest.TestCase): ...@@ -4326,9 +4329,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bots/tdfjdk', check=False, override_args(fbb, query='bots/tdfjdk',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4339,9 +4342,9 @@ class QueryTests(unittest.TestCase): ...@@ -4339,9 +4342,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bot/Fake Android K Tester', override_args(fbb, query='bot/Fake Android K Tester',
check=False, pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.maxDiff = None self.maxDiff = None
...@@ -4352,9 +4355,9 @@ class QueryTests(unittest.TestCase): ...@@ -4352,9 +4355,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bot/bot1', check=False, override_args(fbb, query='bot/bot1',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4365,9 +4368,9 @@ class QueryTests(unittest.TestCase): ...@@ -4365,9 +4368,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bot/Fake Android K Tester/blah/blah', override_args(fbb, query='bot/Fake Android K Tester/blah/blah',
check=False, pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4378,9 +4381,9 @@ class QueryTests(unittest.TestCase): ...@@ -4378,9 +4381,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bot/Fake Android K Tester/blahs', override_args(fbb, query='bot/Fake Android K Tester/blahs',
check=False, pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4391,9 +4394,9 @@ class QueryTests(unittest.TestCase): ...@@ -4391,9 +4394,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='bot/Fake Android L Tester/tests', override_args(fbb, query='bot/Fake Android L Tester/tests',
check=False, pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_BOT_TESTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_BOT_TESTS_OUTPUT)
...@@ -4403,9 +4406,9 @@ class QueryTests(unittest.TestCase): ...@@ -4403,9 +4406,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests', check=False, override_args(fbb, query='tests',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_OUTPUT)
...@@ -4415,9 +4418,9 @@ class QueryTests(unittest.TestCase): ...@@ -4415,9 +4418,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/blah/blah', check=False, override_args(fbb, query='tests/blah/blah',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4428,9 +4431,9 @@ class QueryTests(unittest.TestCase): ...@@ -4428,9 +4431,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/--jobs=1&--verbose', check=False, override_args(fbb, query='tests/--jobs=1&--verbose',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_MULTIPLE_PARAMS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_MULTIPLE_PARAMS_OUTPUT)
...@@ -4440,9 +4443,9 @@ class QueryTests(unittest.TestCase): ...@@ -4440,9 +4443,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/device_os?', check=False, override_args(fbb, query='tests/device_os?',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4453,9 +4456,9 @@ class QueryTests(unittest.TestCase): ...@@ -4453,9 +4456,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/device_os:NMF26U', override_args(fbb, query='tests/device_os:NMF26U',
check=False, pyl_files_dir=None, check=False, pyl_files_dir=None,
json=None, waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_DIMENSION_PARAMS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_DIMENSION_PARAMS_OUTPUT)
...@@ -4465,9 +4468,9 @@ class QueryTests(unittest.TestCase): ...@@ -4465,9 +4468,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/hard_timeout:1000', override_args(fbb, query='tests/hard_timeout:1000',
check=False, pyl_files_dir=None, check=False, pyl_files_dir=None,
json=None, waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_SWARMING_PARAMS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_SWARMING_PARAMS_OUTPUT)
...@@ -4477,9 +4480,9 @@ class QueryTests(unittest.TestCase): ...@@ -4477,9 +4480,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/should_retry_with_patch:true', override_args(fbb, query='tests/should_retry_with_patch:true',
check=False, pyl_files_dir=None, check=False, pyl_files_dir=None,
json=None, waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_PARAMS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_PARAMS_OUTPUT)
...@@ -4489,9 +4492,9 @@ class QueryTests(unittest.TestCase): ...@@ -4489,9 +4492,9 @@ class QueryTests(unittest.TestCase):
TEST_SUITE_WITH_PARAMS, TEST_SUITE_WITH_PARAMS,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='tests/should_retry_with_patch:false', override_args(fbb, query='tests/should_retry_with_patch:false',
check=False, pyl_files_dir=None, check=False, pyl_files_dir=None,
json=None, waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TESTS_PARAMS_FALSE_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TESTS_PARAMS_FALSE_OUTPUT)
...@@ -4501,9 +4504,9 @@ class QueryTests(unittest.TestCase): ...@@ -4501,9 +4504,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_test', check=False, override_args(fbb, query='test/foo_test',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TEST_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TEST_OUTPUT)
...@@ -4513,9 +4516,9 @@ class QueryTests(unittest.TestCase): ...@@ -4513,9 +4516,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_foo', check=False, override_args(fbb, query='test/foo_foo',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4526,9 +4529,9 @@ class QueryTests(unittest.TestCase): ...@@ -4526,9 +4529,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_tests/foo/foo', check=False, override_args(fbb, query='test/foo_tests/foo/foo',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4539,9 +4542,9 @@ class QueryTests(unittest.TestCase): ...@@ -4539,9 +4542,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_test/bots', check=False, override_args(fbb, query='test/foo_test/bots',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_OUTPUT)
...@@ -4551,9 +4554,9 @@ class QueryTests(unittest.TestCase): ...@@ -4551,9 +4554,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_test/bots', check=False, override_args(fbb, query='test/foo_test/bots',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_ISOLATED_SCRIPTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_ISOLATED_SCRIPTS_OUTPUT)
...@@ -4563,9 +4566,9 @@ class QueryTests(unittest.TestCase): ...@@ -4563,9 +4566,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/foo_tests/foo', check=False, override_args(fbb, query='test/foo_tests/foo',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
...@@ -4576,9 +4579,9 @@ class QueryTests(unittest.TestCase): ...@@ -4576,9 +4579,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='test/bar_tests/bots', check=False, override_args(fbb, query='test/bar_tests/bots',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
fbb.query(fbb.args) fbb.query(fbb.args)
query_json = json.loads("".join(fbb.printed_lines)) query_json = json.loads("".join(fbb.printed_lines))
self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_NO_BOTS_OUTPUT) self.assertEqual(query_json, TEST_QUERY_TEST_BOTS_NO_BOTS_OUTPUT)
...@@ -4588,9 +4591,9 @@ class QueryTests(unittest.TestCase): ...@@ -4588,9 +4591,9 @@ class QueryTests(unittest.TestCase):
GOOD_COMPOSITION_TEST_SUITES, GOOD_COMPOSITION_TEST_SUITES,
LUCI_MILO_CFG, LUCI_MILO_CFG,
mixins=SWARMING_MIXINS_SORTED) mixins=SWARMING_MIXINS_SORTED)
fbb.args = argparse.Namespace(query='foo', check=False, override_args(fbb, query='foo',
pyl_files_dir=None, json=None, check=False, pyl_files_dir=None,
waterfall_filters = []) json=None, waterfall_filters=[])
with self.assertRaises(SystemExit) as cm: with self.assertRaises(SystemExit) as cm:
fbb.query(fbb.args) fbb.query(fbb.args)
self.assertEqual(cm.exception.code, 1) self.assertEqual(cm.exception.code, 1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment