Skip to content

Commit 3609962

Browse files
committed
rimport: Accept flags starting with --.
1 parent 65ab700 commit 3609962

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

rimport

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@ def build_parser() -> argparse.ArgumentParser:
3131
# Mutually exclusive: -file or -list (one required)
3232
group = parser.add_mutually_exclusive_group(required=True)
3333
group.add_argument(
34+
"--file",
3435
"-file",
3536
dest="file",
3637
metavar="filename",
3738
help="Provide a single filename relative to the top inputdata directory",
3839
)
3940
group.add_argument(
41+
"--list",
4042
"-list",
4143
dest="filelist",
4244
metavar="filelist",
@@ -47,6 +49,7 @@ def build_parser() -> argparse.ArgumentParser:
4749
)
4850

4951
parser.add_argument(
52+
"--inputdata",
5053
"-inputdata",
5154
dest="inputdata",
5255
metavar="inputdata_dir",

tests/rimport/test_build_parser.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,30 @@ def test_parser_creation(self):
3232
parser = rimport.build_parser()
3333
assert isinstance(parser, argparse.ArgumentParser)
3434

35-
def test_file_argument_accepted(self):
36-
"""Test that -file argument is accepted."""
35+
@pytest.mark.parametrize("file_flag", ["-file", "-f", "--file"])
36+
def test_file_arguments_accepted(self, file_flag):
37+
"""Test that all file argument flags are accepted."""
3738
parser = rimport.build_parser()
38-
args = parser.parse_args(["-file", "test.txt"])
39+
args = parser.parse_args([file_flag, "test.txt"])
3940
assert args.file == "test.txt"
4041
assert args.filelist is None
4142

42-
def test_list_argument_accepted(self):
43-
"""Test that -list argument is accepted."""
43+
@pytest.mark.parametrize("list_flag", ["-list", "-l", "--list"])
44+
def test_list_arguments_accepted(self, list_flag):
45+
"""Test that all list argument flags are accepted."""
4446
parser = rimport.build_parser()
45-
args = parser.parse_args(["-list", "files.txt"])
47+
args = parser.parse_args([list_flag, "files.txt"])
4648
assert args.filelist == "files.txt"
4749
assert args.file is None
4850

51+
@pytest.mark.parametrize("inputdata_flag", ["-inputdata", "-i", "--inputdata"])
52+
def test_inputdata_arguments_accepted(self, inputdata_flag):
53+
"""Test that all inputdata argument flags are accepted."""
54+
parser = rimport.build_parser()
55+
inputdata_dir = "/some/dir"
56+
args = parser.parse_args([inputdata_flag, inputdata_dir, "-f", "dummy_file.nc"])
57+
assert args.inputdata == inputdata_dir
58+
4959
def test_file_and_list_mutually_exclusive(self, capsys):
5060
"""Test that -file and -list cannot be used together."""
5161
parser = rimport.build_parser()

0 commit comments

Comments
 (0)