blob: 29a8c75a863bd661a1d907e0367eeb146e49eda3 [file] [log] [blame]
#!/usr/bin/python
#
# Copyright 2008 Google Inc. All Rights Reserved.
"""Test for atest."""
import unittest, os, sys, StringIO
import common
from autotest_lib.cli import cli_mock
class main_unittest(cli_mock.cli_unittest):
def _test_help(self, argv, out_words_ok, err_words_ok):
saved_outputs = None
for help in ['-h', '--help', 'help']:
outputs = self.run_cmd(argv + [help], exit_code=0,
out_words_ok=out_words_ok,
err_words_ok=err_words_ok)
if not saved_outputs:
saved_outputs = outputs
else:
self.assertEqual(outputs, saved_outputs)
def test_main_help(self):
"""Main help level"""
self._test_help(argv=['atest'],
out_words_ok=['atest [acl|host|job|label|shard'
'|atomicgroup|test|user] '
'[action] [options]'],
err_words_ok=[])
def test_main_help_topic(self):
"""Topic level help"""
self._test_help(argv=['atest', 'host'],
out_words_ok=['atest host ',
'[create|delete|list|stat|mod|jobs]'
' [options]'],
err_words_ok=[])
def test_main_help_action(self):
"""Action level help"""
self._test_help(argv=['atest:', 'host', 'mod'],
out_words_ok=['atest host mod [options]'],
err_words_ok=[])
def test_main_no_topic(self):
self.run_cmd(['atest'], exit_code=1,
out_words_ok=['atest '
'[acl|host|job|label|shard|atomicgroup|test'
'|user] [action] [options]'],
err_words_ok=['No topic argument'])
def test_main_bad_topic(self):
self.run_cmd(['atest', 'bad_topic'], exit_code=1,
out_words_ok=['atest [acl|host|job|label|shard|atomicgroup'
'|test|user] [action] [options]'],
err_words_ok=['Invalid topic bad_topic\n'])
def test_main_bad_action(self):
self.run_cmd(['atest', 'host', 'bad_action'], exit_code=1,
out_words_ok=['atest host [create|delete|list|stat|'
'mod|jobs] [options]'],
err_words_ok=['Invalid action bad_action'])
if __name__ == '__main__':
unittest.main()