| # gh-143706: Test that sys.argv is correctly set during main module import |
| # when using forkserver with __main__ preloading. |
| |
| import multiprocessing |
| import sys |
| |
| # This will be printed during module import - sys.argv should be correct here |
| print(f"module:{sys.argv[1:]}") |
| |
| def fun(): |
| # This will be printed when the function is called |
| print(f"fun:{sys.argv[1:]}") |
| |
| if __name__ == "__main__": |
| ctx = multiprocessing.get_context("forkserver") |
| ctx.set_forkserver_preload(['__main__']) |
| |
| fun() |
| |
| p = ctx.Process(target=fun) |
| p.start() |
| p.join() |