(name, cflags=None, settings=None, env=None, # noqa
v8_args=None, node_args=None,
require_wasm64=False,
init=None)
| 9886 | |
| 9887 | # Generate tests for everything |
| 9888 | def make_run(name, cflags=None, settings=None, env=None, # noqa |
| 9889 | v8_args=None, node_args=None, |
| 9890 | require_wasm64=False, |
| 9891 | init=None): |
| 9892 | if cflags is None: |
| 9893 | cflags = {} |
| 9894 | if env is None: |
| 9895 | env = {} |
| 9896 | if settings is None: |
| 9897 | settings = {} |
| 9898 | if settings: |
| 9899 | # Until we create a way to specify link-time settings separately from compile-time settings |
| 9900 | # we need to pass this flag here to avoid warnings from compile-only commands. |
| 9901 | cflags.append('-Wno-unused-command-line-argument') |
| 9902 | |
| 9903 | TT = type(name, (TestCoreBase,), dict(run_name=name, env=env, __module__=__name__)) # noqa |
| 9904 | |
| 9905 | def tearDown(self): |
| 9906 | try: |
| 9907 | super(TT, self).tearDown() |
| 9908 | finally: |
| 9909 | for k in self.env.keys(): |
| 9910 | del os.environ[k] |
| 9911 | |
| 9912 | TT.tearDown = tearDown |
| 9913 | |
| 9914 | def setUp(self): |
| 9915 | assert self.__class__.doneSetup |
| 9916 | super(TT, self).setUp() |
| 9917 | for k, v in self.env.items(): |
| 9918 | assert k not in os.environ, k + ' should not be in environment' |
| 9919 | os.environ[k] = v |
| 9920 | |
| 9921 | os.chdir(self.get_dir()) # Ensure the directory exists and go there |
| 9922 | |
| 9923 | for k, v in settings.items(): |
| 9924 | self.set_setting(k, v) |
| 9925 | |
| 9926 | self.cflags += cflags |
| 9927 | |
| 9928 | if node_args: |
| 9929 | self.node_args += node_args |
| 9930 | |
| 9931 | if v8_args: |
| 9932 | self.v8_args += v8_args |
| 9933 | |
| 9934 | if require_wasm64: |
| 9935 | self.require_wasm64() |
| 9936 | |
| 9937 | if init: |
| 9938 | init(self) |
| 9939 | |
| 9940 | TT.setUp = setUp |
| 9941 | |
| 9942 | return TT |
| 9943 | |
| 9944 | |
| 9945 | # Note: We add --profiling-funcs to many of these modes (especially |
no test coverage detected