Skip to content

Commit

Permalink
Error out for remaining args in custom commands
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesls committed Aug 20, 2014
1 parent 9d311fa commit 4d93057
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
1 change: 1 addition & 0 deletions awscli/clidriver.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ def main(self, args=None):
self._handle_top_level_args(parsed_args)
return command_table[parsed_args.command](remaining, parsed_args)
except UnknownArgumentError as e:
sys.stderr.write("\n")
sys.stderr.write(str(e) + '\n')
return 255
except NoRegionError as e:
Expand Down
2 changes: 2 additions & 0 deletions awscli/customizations/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,8 @@ def __call__(self, args, parsed_globals):
elif getattr(parsed_args, 'subcommand', None) is None:
# No subcommand was specified so call the main
# function for this top level command.
if remaining:
raise ValueError("Unknown options: %s" % ','.join(remaining))
return self._run_main(parsed_args, parsed_globals)
else:
return subcommand_table[parsed_args.subcommand](remaining,
Expand Down
8 changes: 5 additions & 3 deletions tests/unit/customizations/s3/test_ls_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from awscli.testutils import BaseAWSCommandParamsTest
from dateutil import parser, tz


class TestLSCommand(BaseAWSCommandParamsTest):

def test_operations_used_in_recursive_list(self):
Expand All @@ -34,6 +35,7 @@ def test_operations_used_in_recursive_list(self):
self.assertEqual(
stdout, '%s 100 foo/bar.txt\n'%time_local.strftime('%Y-%m-%d %H:%M:%S'))


if __name__ == "__main__":
unittest.main()
def test_errors_out_with_extra_arguments(self):
stderr = self.run_cmd('s3 ls --extra-argument-foo', expected_rc=255)[1]
self.assertIn('Unknown options', stderr)
self.assertIn('--extra-argument-foo', stderr)

0 comments on commit 4d93057

Please sign in to comment.