| #!/usr/bin/python |
| # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # pylint: disable-msg=C0111 |
| |
| import unittest |
| import common |
| from autotest_lib.site_utils import test_that |
| |
| |
| class TestThatUnittests(unittest.TestCase): |
| def test_validate_arguments(self): |
| # Deferred until validate_arguments allows for lab runs. |
| pass |
| |
| def test_parse_arguments(self): |
| args = test_that.parse_arguments( |
| ['-b', 'some_board', '-i', 'some_image', '--args', 'some_args', |
| 'some_remote', 'test1', 'test2']) |
| self.assertEqual('some_board', args.board) |
| self.assertEqual('some_image', args.build) |
| self.assertEqual('some_args', args.args) |
| self.assertEqual('some_remote', args.remote) |
| self.assertEqual(['test1', 'test2'], args.tests) |
| |
| def test_parse_arguments_internal(self): |
| args, remote_argv = test_that._parse_arguments_internal( |
| ['-b', 'some_board', '-i', 'some_image', '--args', 'some_args', |
| 'some_remote', 'test1', 'test2']) |
| self.assertEqual('some_board', args.board) |
| self.assertEqual('some_image', args.build) |
| self.assertEqual('some_args', args.args) |
| self.assertEqual('some_remote', args.remote) |
| self.assertEqual(['test1', 'test2'], args.tests) |
| self.assertEqual(remote_argv, |
| ['-b', 'some_board', '-i', 'some_image', '--args', |
| 'some_args', 'some_remote', 'test1', 'test2']) |
| |
| def test_parse_arguments_internal_with_local_argument(self): |
| args, remote_argv = test_that._parse_arguments_internal( |
| ['-b', 'some_board', '-i', 'some_image', '-w', 'server:port', |
| '--args', 'some_args', 'some_remote', 'test1', 'test2']) |
| self.assertEqual('server:port', args.web) |
| self.assertEqual('some_board', args.board) |
| self.assertEqual('some_image', args.build) |
| self.assertEqual('some_args', args.args) |
| self.assertEqual('some_remote', args.remote) |
| self.assertEqual(['test1', 'test2'], args.tests) |
| self.assertEqual(remote_argv, |
| ['-b', 'some_board', '-i', 'some_image', '--args', |
| 'some_args', 'some_remote', 'test1', 'test2']) |
| |
| def test_parse_arguments_with_local_argument(self): |
| args = test_that.parse_arguments( |
| ['-b', 'some_board', '-i', 'some_image', '-w', 'server:port', |
| '--args', 'some_args', 'some_remote', 'test1', 'test2']) |
| self.assertEqual('server:port', args.web) |
| self.assertEqual('some_board', args.board) |
| self.assertEqual('some_image', args.build) |
| self.assertEqual('some_args', args.args) |
| self.assertEqual('some_remote', args.remote) |
| self.assertEqual(['test1', 'test2'], args.tests) |
| |
| def test_parse_arguments_lab_run_requires_build(self): |
| """Running against :lab: requires certain extra arguments.""" |
| args = test_that.parse_arguments(['-b', 'some_board', ':lab:', 'test1']) |
| with self.assertRaises(ValueError): |
| test_that.validate_arguments(args) |
| |
| def test_parse_arguments_lab_run_disallows_suite_args(self): |
| """Running against :lab: requires certain extra arguments.""" |
| args = test_that.parse_arguments([ |
| '-b', 'some_board', '-i', 'some_image', '--args', 'some_args', |
| ':lab:', 'test1']) |
| with self.assertRaises(ValueError): |
| test_that.validate_arguments(args) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |