()
| 910 | |
| 911 | |
| 912 | def main(): |
| 913 | repo_dir = relpath(os.path.join(os.path.dirname(__file__), "..")) |
| 914 | |
| 915 | import argparse |
| 916 | |
| 917 | parser = argparse.ArgumentParser() |
| 918 | parser.add_argument("--keep-tmpdirs", action="store_true", help="keep temporary directories used for the tests") |
| 919 | parser.add_argument("--show-full-output", action="store_true", help="print the full stdout and stderr on test failures") |
| 920 | parser.add_argument("--test-mastersrv", action="store_true", help="enforce testing of mastersrv") |
| 921 | parser.add_argument("--timeout-multiplier", type=float, default=1, help="multiply all timeouts by this value") |
| 922 | parser.add_argument("--valgrind-memcheck", action="store_true", help="use valgrind's memcheck on client and server") |
| 923 | parser.add_argument("builddir", metavar="BUILDDIR", help="path to ddnet build directory") |
| 924 | parser.add_argument("test", metavar="TEST", nargs="?", help="name of test to run") |
| 925 | args = parser.parse_args() |
| 926 | |
| 927 | ddnet = os.path.join(args.builddir, f"DDNet{EXE_SUFFIX}") |
| 928 | ddnet_server = os.path.join(args.builddir, f"DDNet-Server{EXE_SUFFIX}") |
| 929 | ddnet_mastersrv = os.path.join(args.builddir, f"mastersrv{EXE_SUFFIX}") |
| 930 | if not os.path.exists(ddnet): |
| 931 | raise RuntimeError(f"client binary {ddnet!r} not found") |
| 932 | if not os.path.exists(ddnet_server): |
| 933 | raise RuntimeError(f"server binary {ddnet_server!r} not found") |
| 934 | if not os.path.exists(ddnet_mastersrv): |
| 935 | if args.test_mastersrv: |
| 936 | raise RuntimeError(f"mastersrv binary {ddnet_mastersrv!r} not found, compile it from src/mastersrv") |
| 937 | else: |
| 938 | ddnet_mastersrv = None |
| 939 | |
| 940 | tests = ALL_TESTS |
| 941 | if args.test is not None: |
| 942 | tests = [test for test in tests if args.test in test.name] |
| 943 | |
| 944 | return TestRunner( |
| 945 | ddnet=ddnet, |
| 946 | ddnet_server=ddnet_server, |
| 947 | ddnet_mastersrv=ddnet_mastersrv, |
| 948 | repo_dir=repo_dir, |
| 949 | test_dir=args.builddir, |
| 950 | show_full_output=args.show_full_output, |
| 951 | valgrind_memcheck=args.valgrind_memcheck, |
| 952 | keep_tmpdirs=args.keep_tmpdirs, |
| 953 | timeout_multiplier=args.timeout_multiplier, |
| 954 | ).run_tests(tests) |
| 955 | |
| 956 | |
| 957 | if __name__ == "__main__": |
no test coverage detected