예제 #1
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_help(self):
     self.assertEqual(
         cli.parse_args(["-h"]),
         cli.CommandLine(action=cli.print_help),
     )
     self.assertEqual(
         cli.parse_args(["--help"]),
         cli.CommandLine(action=cli.print_help),
     )
예제 #2
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_argument_with_missing_argument(self):
     self.assertEqual(
         cli.parse_args(["-I"]),
         cli.CommandLine(
             action=cli.print_help,
             failure="-I expects an argument",
         ),
     )
예제 #3
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_unknown_arguments_causes_print_help(self):
     self.assertEqual(
         cli.parse_args(["-I", "stuff/include", "--foobar"]),
         cli.CommandLine(
             action=cli.print_help,
             failure="Unknown argument --foobar",
         ),
     )
예제 #4
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_run_repl(self):
     self.assertEqual(
         cli.parse_args([]),
         cli.CommandLine(
             action=cli.run_repl,
             cycy=CyCy(parser=IncrementalParser()),
         ),
     )
예제 #5
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_run_source_files(self):
     self.assertEqual(
         cli.parse_args(["-I", "a/include", "-I", "b/include", "file.c"]),
         cli.CommandLine(
             action=cli.run_source,
             source_files=["file.c"],
             cycy=CyCy(parser=IncrementalParser(parser=Parser(
                 preprocessor=preprocessor.with_directories(
                     ["a/include", "b/include"], ), ), ), ),
         ),
     )
예제 #6
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_run_source_string(self):
     self.assertEqual(
         cli.parse_args(["-I", "a/include", "-c", "int main (void) {}"]),
         cli.CommandLine(
             action=cli.run_source,
             source_string="int main (void) {}",
             cycy=CyCy(parser=IncrementalParser(parser=Parser(
                 preprocessor=preprocessor.with_directories(
                     ["a/include"], ), ), ), ),
         ),
     )
예제 #7
0
파일: test_cli.py 프로젝트: njucjc/cycy
 def test_version(self):
     self.assertEqual(
         cli.parse_args(["--version"]),
         cli.CommandLine(action=cli.print_version),
     )
예제 #8
0
파일: target.py 프로젝트: njucjc/cycy
def main(argv):
    command_line = parse_args(argv[1:])
    exit_status = command_line.action(command_line)
    return exit_status