Commit 83c896dc authored by Jan Kiene's avatar Jan Kiene
Browse files

pass UBSAN_OPTIONS env var to the subprocesses

parent edff91e4
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
        dir_name=".",
        bin_suffix="",
        test_tool="",
        run_env={},
        silent=False,
        site_config="",
        sample_rate_enc_in=None,
@@ -115,6 +116,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
            self.decoder = ""
        self.bin_suffix = bin_suffix
        self.test_tool = test_tool
        self.run_env = os.environ.copy().update(run_env)
        self.silent = silent
        self.failed_threads = None
        self.max_workers = max_workers
@@ -314,7 +316,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
                    + [enc_file_name, dec_file_name]
                )

            cur_dec_result = subprocess.run(dec_cmd, capture_output=True, text=True)
            cur_dec_result = subprocess.run(dec_cmd, capture_output=True, text=True, env=self.run_env)
            dec_log.write(" ".join(dec_cmd))
            dec_log.write(cur_dec_result.stderr)
            dec_log.write(cur_dec_result.stdout)
@@ -703,7 +705,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):

            enc_log = open(enc_log_name, "w")
            enc_log.write(" ".join(enc_cmd))
            enc_result = subprocess.run(enc_cmd, capture_output=True, text=True)
            enc_result = subprocess.run(enc_cmd, capture_output=True, text=True, env=self.run_env)
            error = enc_result.returncode
            enc_log.write(enc_result.stderr)
            enc_log.write(enc_result.stdout)
@@ -729,7 +731,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector):
                    enc_log = open(enc_log_name, "a")
                    enc_log.write(" ".join(proc_cmd))
                    proc_result = subprocess.run(
                        proc_cmd, capture_output=True, text=True, encoding="utf8"
                        proc_cmd, capture_output=True, text=True, encoding="utf8",
                    )
                    enc_log.write(proc_result.stderr)
                    enc_log.write(proc_result.stdout)
+3 −1
Original line number Diff line number Diff line
@@ -1182,6 +1182,7 @@ class IvasBuilderAndRunner(IvasBaseClass):
        # do not use all cores to avoid weird getting-stuck issues observed on Mac...
        make_options = ["-j" ,f"{n_cpus - 2}"]
        run_tool = ""
        run_env = dict()
        if defines_to_enable is None:
            defines_to_enable_check = []
        else:
@@ -1197,7 +1198,7 @@ class IvasBuilderAndRunner(IvasBaseClass):

            # for undefined behaviou sanitizer, pass suppression file if given
            if clang_n == "3" and usan_supp_file is not None:
                run_tool = [f"UBSAN_OPTIONS=suppressions={usan_supp_file},report_error_type=1"]
                run_env["UBSAN_OPTIONS": f"suppressions={usan_supp_file},report_error_type=1"]

        elif check == "VALGRIND":
            defines_to_disable_check.extend(["RAM_COUNTING_TOOL"])
@@ -1213,6 +1214,7 @@ class IvasBuilderAndRunner(IvasBaseClass):
        self.add_build_and_run_config(
            check,
            run_tool=run_tool,
            run_env=run_env,
            make_options=make_options,
            format_select_list=format_select_list,
            mode_select_list=mode_select_list,