/usr/lib/python3/dist-packages/checkbox_ng/test_main.py is in python3-checkbox-ng 0.3.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | # This file is part of Checkbox.
#
# Copyright 2012-2013 Canonical Ltd.
# Written by:
# Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
#
# Checkbox is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3,
# as published by the Free Software Foundation.
#
# Checkbox is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
"""
checkbox_ng.test_main
=====================
Test definitions for checkbox_ng.main module
"""
from inspect import cleandoc
from unittest import TestCase
from plainbox.impl.clitools import ToolBase
from plainbox.testing_utils.io import TestIO
from checkbox_ng import __version__ as version
from checkbox_ng.main import cert_server, main
class TestMain(TestCase):
def test_version(self):
with TestIO(combined=True) as io:
with self.assertRaises(SystemExit) as call:
main(['--version'])
self.assertEqual(call.exception.args, (0,))
self.assertEqual(io.combined, "{}\n".format(
ToolBase.format_version_tuple(version)))
def test_help(self):
with TestIO(combined=True) as io:
with self.assertRaises(SystemExit) as call:
main(['--help'])
self.assertEqual(call.exception.args, (0,))
self.maxDiff = None
expected = """
usage: checkbox [-h] [--version] [--providers {all,stub}] [-v] [-D] [-C]
[-T LOGGER] [-P] [-I]
{sru,check-config,script,dev,checkbox-cli,driver-test-suite-cli,certification-server,service}
...
positional arguments:
{sru,check-config,script,dev,checkbox-cli,driver-test-suite-cli,certification-server,service}
sru run automated stable release update tests
check-config check and display plainbox configuration
script run a command from a job
dev development commands
checkbox-cli application for system testing
driver-test-suite-cli
driver test suite application
certification-server
application for server certification
service spawn dbus service
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
provider list and development:
--providers {all,stub}
which providers to load
logging and debugging:
-v, --verbose be more verbose (same as --log-level=INFO)
-D, --debug enable DEBUG messages on the root logger
-C, --debug-console display DEBUG messages in the console
-T LOGGER, --trace LOGGER
enable DEBUG messages on the specified logger (can be
used multiple times)
-P, --pdb jump into pdb (python debugger) when a command crashes
-I, --debug-interrupt
crash on SIGINT/KeyboardInterrupt, useful with --pdb
"""
self.assertEqual(io.combined, cleandoc(expected) + "\n")
def test_run_without_args(self):
with TestIO(combined=True) as io:
with self.assertRaises(SystemExit) as call:
main([])
self.assertEqual(call.exception.args, (2,))
expected = """
usage: checkbox [-h] [--version] [--providers {all,stub}] [-v] [-D] [-C]
[-T LOGGER] [-P] [-I]
{sru,check-config,script,dev,checkbox-cli,driver-test-suite-cli,certification-server,service}
...
checkbox: error: too few arguments
"""
self.assertEqual(io.combined, cleandoc(expected) + "\n")
class TestCertServer(TestCase):
def test_help(self):
with TestIO(combined=True) as io:
with self.assertRaises(SystemExit) as call:
cert_server(['--help'])
self.assertEqual(call.exception.args, (0,))
self.maxDiff = None
expected = """
usage: checkbox certification-server [-h] [--check-config] [--not-interactive]
[--secure-id SECURE-ID]
[--destination URL] [--staging]
[-i PATTERN] [-x PATTERN] [-w WHITELIST]
optional arguments:
-h, --help show this help message and exit
--check-config Run check-config
--not-interactive Skip tests that require interactivity
certification-specific options:
--secure-id SECURE-ID
Associate submission with a machine using this SECURE-
ID (None)
--destination URL POST the test report XML to this URL (https://certific
ation.canonical.com/submissions/submit/)
--staging Override --destination to use the staging
certification website
job definition options:
-i PATTERN, --include-pattern PATTERN
include jobs matching the given regular expression
-x PATTERN, --exclude-pattern PATTERN
exclude jobs matching the given regular expression
-w WHITELIST, --whitelist WHITELIST
load whitelist containing run patterns
"""
self.assertEqual(io.combined, cleandoc(expected) + "\n")
|