<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="3" skipped="0" tests="18" time="38096.520" timestamp="2026-08-02T00:56:00.296611-04:00" hostname="cvpost128"><testcase classname="tests.regression.fast.alma_sd_fast_test" name="test_uid___A002_X85c183_X36f_SPW15_23__PPR__regression" file="tests/regression/fast/alma_sd_fast_test.py" line="24" time="1182.034" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_uid___A002_Xc46ab2_X15ae_repSPW_spw16_17_small__PPR__regression" file="tests/regression/fast/alma_if_fast_test.py" line="9" time="1768.058" /><testcase classname="tests.regression.fast.nobeyama_sd_fast_test" name="test_mg2_20170525142607_180419__PPR__regression" file="tests/regression/fast/nobeyama_sd_fast_test.py" line="23" time="2234.834" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_uid___A002_Xc46ab2_X15ae__selfcal_restore_procedure_hifa_image__regression" file="tests/regression/fast/alma_if_fast_test.py" line="77" time="2679.375" /><testcase classname="tests.regression.fast.vla_fast_test" name="test_13A_537__calibration__PPR__regression" file="tests/regression/fast/vla_fast_test.py" line="27" time="3334.968"><failure message="def test_13A_537__calibration__PPR__regression():&#10;        &quot;&quot;&quot;Run VLA calibration regression with a PPR file.&#10;    &#10;        PPR name:                   PPR_13A-537.xml&#10;        Dataset:                    13A-537/13A-537.sb24066356.eb24324502.56514.05971091435&#10;        &quot;&quot;&quot;&#10;        ref_directory = 'pl-regressiontest/13A-537'&#10;    &#10;        pt = PipelineTester(&#10;            visname=['13A-537.sb24066356.eb24324502.56514.05971091435'],&#10;            ppr=f'{ref_directory}/PPR_13A-537.xml',&#10;            input_dir=ref_directory,&#10;            output_dir='13A_537__calibration__PPR__regression',&#10;            expectedoutput_dir=ref_directory,&#10;            )&#10;    &#10;&gt;       pt.run(telescope='vla', omp_num_threads=1)&#10;&#10;tests/regression/fast/vla_fast_test.py:44: &#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;tests/testing_utils.py:381: in run&#10;    self.__compare_results(new_file, default_relative_tolerance)&#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;&#10;self = &lt;tests.testing_utils.PipelineTester object at 0x7f2120b9ec60&gt;&#10;new_file = '13A-537.sb24066356.eb24324502.56514.05971091435.NEW.results.txt'&#10;relative_tolerance = 1e-07&#10;&#10;    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:&#10;        &quot;&quot;&quot;&#10;        Compare results between new one loaded from file and old one.&#10;    &#10;        Args:&#10;            new_file : file path of new results&#10;            relative_tolerance : relative tolerance of output value&#10;        &quot;&quot;&quot;&#10;        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:&#10;            expected_results = expected_fd.readlines()&#10;            new_results = new_fd.readlines()&#10;            errors = []&#10;            worst_diff = (0, 0)&#10;            worst_percent_diff = (0, 0)&#10;            for old, new in zip(expected_results, new_results):&#10;                try:&#10;                    oldkey, oldval, tol = self.__sanitize_results_string(old)&#10;                    newkey, newval, _ = self.__sanitize_results_string(new)&#10;                except ValueError as e:&#10;                    errorstr = &quot;The results: {0} could not be parsed. Error: {1}&quot;.format(new, str(e))&#10;                    errors.append(errorstr)&#10;                    continue&#10;    &#10;                assert oldkey == newkey, f&quot;Expected key {oldkey} does not match new key {newkey}.&quot;&#10;                tolerance = tol if tol else relative_tolerance&#10;                if newval is not None:&#10;                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)&#10;                    if oldval != pytest.approx(newval, rel=tolerance):&#10;                        diff = oldval-newval&#10;                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100&#10;                        if abs(diff) &gt; abs(worst_diff[0]):&#10;                            worst_diff = diff, oldkey&#10;                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):&#10;                            worst_percent_diff = percent_diff, oldkey&#10;                        errorstr = f&quot;{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%&quot;&#10;                        errors.append(errorstr)&#10;                elif oldval is not None:&#10;                    # If only the new value is None, fail&#10;                    errorstr = f&quot;{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}&quot;&#10;                    errors.append(errorstr)&#10;                else:&#10;                    # If old and new values are both None, this is expected, so pass&#10;                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)&#10;    &#10;            [LOG.warning(x) for x in errors]&#10;            n_errors = len(errors)&#10;            if n_errors &gt; 0:&#10;                summary_str = f&quot;Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%&quot;&#10;                errors.append(summary_str)&#10;&gt;               pytest.fail(&quot;Failed to match {0} result value{1} within tolerance{1} :\n{2}&quot;.format(&#10;                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)&#10;E               Failed: Failed to match 22 result values within tolerances :&#10;E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s12.hifv_fluxboot.13A-537.sb24066356.eb24324502.56514.05971091435.flux_densities.spw_0&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.7149940856445874&#10;E               &#09;new:      0.7150110854670872&#10;E               &#09;diff: -1.6999822499808026e-05&#10;E               &#09;percent_diff: -0.0023776172196560484%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 48816966&#10;E               &#09;new:      48816980&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -2.8678554091214926e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 48585562&#10;E               &#09;new:      48585576&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -2.881514471315573e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 29068884&#10;E               &#09;new:      29069288&#10;E               &#09;diff: -404&#10;E               &#09;percent_diff: -0.0013898022366458926%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_5.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 9127166&#10;E               &#09;new:      9126980&#10;E               &#09;diff: 186&#10;E               &#09;percent_diff: 0.002037872434882854%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_6.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7154697&#10;E               &#09;new:      7154975&#10;E               &#09;diff: -278&#10;E               &#09;percent_diff: -0.0038855593744920296%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_7.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7755085&#10;E               &#09;new:      7755397&#10;E               &#09;diff: -312&#10;E               &#09;percent_diff: -0.004023166735116378%&#10;E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.mean&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.6294256901955095&#10;E               &#09;new:      0.6294082667176586&#10;E               &#09;diff: 1.7423477850941893e-05&#10;E               &#09;percent_diff: 0.0027681548628130962%&#10;E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.06276085915536926&#10;E               &#09;new:      0.06275781189517324&#10;E               &#09;diff: 3.047260196023527e-06&#10;E               &#09;percent_diff: 0.004855351308177288%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 14429416&#10;E               &#09;new:      14429430&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -9.702402370269178e-05%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               Worst absolute diff, s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after: -404&#10;E               Worst percentage diff, s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance: 0.004855351308177288%&#10;&#10;tests/testing_utils.py:440: Failed">def test_13A_537__calibration__PPR__regression():
        """Run VLA calibration regression with a PPR file.
    
        PPR name:                   PPR_13A-537.xml
        Dataset:                    13A-537/13A-537.sb24066356.eb24324502.56514.05971091435
        """
        ref_directory = 'pl-regressiontest/13A-537'
    
        pt = PipelineTester(
            visname=['13A-537.sb24066356.eb24324502.56514.05971091435'],
            ppr=f'{ref_directory}/PPR_13A-537.xml',
            input_dir=ref_directory,
            output_dir='13A_537__calibration__PPR__regression',
            expectedoutput_dir=ref_directory,
            )
    
&gt;       pt.run(telescope='vla', omp_num_threads=1)

tests/regression/fast/vla_fast_test.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/testing_utils.py:381: in run
    self.__compare_results(new_file, default_relative_tolerance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = &lt;tests.testing_utils.PipelineTester object at 0x7f2120b9ec60&gt;
new_file = '13A-537.sb24066356.eb24324502.56514.05971091435.NEW.results.txt'
relative_tolerance = 1e-07

    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:
        """
        Compare results between new one loaded from file and old one.
    
        Args:
            new_file : file path of new results
            relative_tolerance : relative tolerance of output value
        """
        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:
            expected_results = expected_fd.readlines()
            new_results = new_fd.readlines()
            errors = []
            worst_diff = (0, 0)
            worst_percent_diff = (0, 0)
            for old, new in zip(expected_results, new_results):
                try:
                    oldkey, oldval, tol = self.__sanitize_results_string(old)
                    newkey, newval, _ = self.__sanitize_results_string(new)
                except ValueError as e:
                    errorstr = "The results: {0} could not be parsed. Error: {1}".format(new, str(e))
                    errors.append(errorstr)
                    continue
    
                assert oldkey == newkey, f"Expected key {oldkey} does not match new key {newkey}."
                tolerance = tol if tol else relative_tolerance
                if newval is not None:
                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)
                    if oldval != pytest.approx(newval, rel=tolerance):
                        diff = oldval-newval
                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100
                        if abs(diff) &gt; abs(worst_diff[0]):
                            worst_diff = diff, oldkey
                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):
                            worst_percent_diff = percent_diff, oldkey
                        errorstr = f"{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%"
                        errors.append(errorstr)
                elif oldval is not None:
                    # If only the new value is None, fail
                    errorstr = f"{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}"
                    errors.append(errorstr)
                else:
                    # If old and new values are both None, this is expected, so pass
                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)
    
            [LOG.warning(x) for x in errors]
            n_errors = len(errors)
            if n_errors &gt; 0:
                summary_str = f"Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%"
                errors.append(summary_str)
&gt;               pytest.fail("Failed to match {0} result value{1} within tolerance{1} :\n{2}".format(
                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)
E               Failed: Failed to match 22 result values within tolerances :
E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s12.hifv_fluxboot.13A-537.sb24066356.eb24324502.56514.05971091435.flux_densities.spw_0
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.7149940856445874
E               	new:      0.7150110854670872
E               	diff: -1.6999822499808026e-05
E               	percent_diff: -0.0023776172196560484%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 48816966
E               	new:      48816980
E               	diff: -14
E               	percent_diff: -2.8678554091214926e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 48585562
E               	new:      48585576
E               	diff: -14
E               	percent_diff: -2.881514471315573e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 29068884
E               	new:      29069288
E               	diff: -404
E               	percent_diff: -0.0013898022366458926%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_5.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 9127166
E               	new:      9126980
E               	diff: 186
E               	percent_diff: 0.002037872434882854%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_6.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7154697
E               	new:      7154975
E               	diff: -278
E               	percent_diff: -0.0038855593744920296%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_7.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7755085
E               	new:      7755397
E               	diff: -312
E               	percent_diff: -0.004023166735116378%
E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.mean
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.6294256901955095
E               	new:      0.6294082667176586
E               	diff: 1.7423477850941893e-05
E               	percent_diff: 0.0027681548628130962%
E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.06276085915536926
E               	new:      0.06275781189517324
E               	diff: 3.047260196023527e-06
E               	percent_diff: 0.004855351308177288%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 14429416
E               	new:      14429430
E               	diff: -14
E               	percent_diff: -9.702402370269178e-05%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               Worst absolute diff, s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after: -404
E               Worst percentage diff, s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance: 0.004855351308177288%

tests/testing_utils.py:440: Failed</failure></testcase><testcase classname="tests.regression.fast.nobeyama_sd_fast_test" name="test_mg2_20170525142607_180419__procedure_hsdn_calimage__regression" file="tests/regression/fast/nobeyama_sd_fast_test.py" line="6" time="2391.888" /><testcase classname="tests.regression.fast.vla_fast_test" name="test_13A_537__restore__PPR__regression" file="tests/regression/fast/vla_fast_test.py" line="46" time="264.907" /><testcase classname="tests.regression.fast.vla_fast_test" name="test_13A_537__procedure_hifv__regression" file="tests/regression/fast/vla_fast_test.py" line="8" time="3303.577"><failure message="def test_13A_537__procedure_hifv__regression():&#10;        &quot;&quot;&quot;Run VLA calibration regression for standard procedure_hifv.xml recipe.&#10;    &#10;        Recipe name:                procedure_hifv&#10;        Dataset:                    13A-537/13A-537.sb24066356.eb24324502.56514.05971091435&#10;        &quot;&quot;&quot;&#10;        ref_directory = 'pl-regressiontest/13A-537'&#10;    &#10;        pt = PipelineTester(&#10;            visname=['13A-537.sb24066356.eb24324502.56514.05971091435'],&#10;            recipe='procedure_hifv.xml',&#10;            input_dir=ref_directory,&#10;            output_dir='13A_537__procedure_hifv__regression',&#10;            expectedoutput_dir=ref_directory,&#10;            )&#10;    &#10;&gt;       pt.run(telescope='vla', omp_num_threads=1)&#10;&#10;tests/regression/fast/vla_fast_test.py:25: &#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;tests/testing_utils.py:381: in run&#10;    self.__compare_results(new_file, default_relative_tolerance)&#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;&#10;self = &lt;tests.testing_utils.PipelineTester object at 0x7fc1efb80e30&gt;&#10;new_file = '13A-537.sb24066356.eb24324502.56514.05971091435.NEW.results.txt'&#10;relative_tolerance = 1e-07&#10;&#10;    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:&#10;        &quot;&quot;&quot;&#10;        Compare results between new one loaded from file and old one.&#10;    &#10;        Args:&#10;            new_file : file path of new results&#10;            relative_tolerance : relative tolerance of output value&#10;        &quot;&quot;&quot;&#10;        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:&#10;            expected_results = expected_fd.readlines()&#10;            new_results = new_fd.readlines()&#10;            errors = []&#10;            worst_diff = (0, 0)&#10;            worst_percent_diff = (0, 0)&#10;            for old, new in zip(expected_results, new_results):&#10;                try:&#10;                    oldkey, oldval, tol = self.__sanitize_results_string(old)&#10;                    newkey, newval, _ = self.__sanitize_results_string(new)&#10;                except ValueError as e:&#10;                    errorstr = &quot;The results: {0} could not be parsed. Error: {1}&quot;.format(new, str(e))&#10;                    errors.append(errorstr)&#10;                    continue&#10;    &#10;                assert oldkey == newkey, f&quot;Expected key {oldkey} does not match new key {newkey}.&quot;&#10;                tolerance = tol if tol else relative_tolerance&#10;                if newval is not None:&#10;                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)&#10;                    if oldval != pytest.approx(newval, rel=tolerance):&#10;                        diff = oldval-newval&#10;                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100&#10;                        if abs(diff) &gt; abs(worst_diff[0]):&#10;                            worst_diff = diff, oldkey&#10;                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):&#10;                            worst_percent_diff = percent_diff, oldkey&#10;                        errorstr = f&quot;{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%&quot;&#10;                        errors.append(errorstr)&#10;                elif oldval is not None:&#10;                    # If only the new value is None, fail&#10;                    errorstr = f&quot;{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}&quot;&#10;                    errors.append(errorstr)&#10;                else:&#10;                    # If old and new values are both None, this is expected, so pass&#10;                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)&#10;    &#10;            [LOG.warning(x) for x in errors]&#10;            n_errors = len(errors)&#10;            if n_errors &gt; 0:&#10;                summary_str = f&quot;Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%&quot;&#10;                errors.append(summary_str)&#10;&gt;               pytest.fail(&quot;Failed to match {0} result value{1} within tolerance{1} :\n{2}&quot;.format(&#10;                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)&#10;E               Failed: Failed to match 22 result values within tolerances :&#10;E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s12.hifv_fluxboot.13A-537.sb24066356.eb24324502.56514.05971091435.flux_densities.spw_0&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.7149940856445874&#10;E               &#09;new:      0.7150110854670872&#10;E               &#09;diff: -1.6999822499808026e-05&#10;E               &#09;percent_diff: -0.0023776172196560484%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 48816966&#10;E               &#09;new:      48816980&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -2.8678554091214926e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 48585562&#10;E               &#09;new:      48585576&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -2.881514471315573e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 11498688&#10;E               &#09;new:      11498686&#10;E               &#09;diff: 2&#10;E               &#09;percent_diff: 1.7393288695197225e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.before&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 3678842&#10;E               &#09;new:      3678844&#10;E               &#09;diff: -2&#10;E               &#09;percent_diff: -5.436493331325455e-05%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 29068884&#10;E               &#09;new:      29069288&#10;E               &#09;diff: -404&#10;E               &#09;percent_diff: -0.0013898022366458926%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_5.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 9127166&#10;E               &#09;new:      9126980&#10;E               &#09;diff: 186&#10;E               &#09;percent_diff: 0.002037872434882854%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_6.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7154697&#10;E               &#09;new:      7154975&#10;E               &#09;diff: -278&#10;E               &#09;percent_diff: -0.0038855593744920296%&#10;E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_7.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7755085&#10;E               &#09;new:      7755397&#10;E               &#09;diff: -312&#10;E               &#09;percent_diff: -0.004023166735116378%&#10;E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.mean&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.6294256901955095&#10;E               &#09;new:      0.6294082667176586&#10;E               &#09;diff: 1.7423477850941893e-05&#10;E               &#09;percent_diff: 0.0027681548628130962%&#10;E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.06276085915536926&#10;E               &#09;new:      0.06275781189517324&#10;E               &#09;diff: 3.047260196023527e-06&#10;E               &#09;percent_diff: 0.004855351308177288%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 14429416&#10;E               &#09;new:      14429430&#10;E               &#09;diff: -14&#10;E               &#09;percent_diff: -9.702402370269178e-05%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 7526956&#10;E               &#09;new:      7526960&#10;E               &#09;diff: -4&#10;E               &#09;percent_diff: -5.314233270395098e-05%&#10;E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 6902460&#10;E               &#09;new:      6902470&#10;E               &#09;diff: -10&#10;E               &#09;percent_diff: -0.0001448758848294666%&#10;E               Worst absolute diff, s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after: -404&#10;E               Worst percentage diff, s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance: 0.004855351308177288%&#10;&#10;tests/testing_utils.py:440: Failed">def test_13A_537__procedure_hifv__regression():
        """Run VLA calibration regression for standard procedure_hifv.xml recipe.
    
        Recipe name:                procedure_hifv
        Dataset:                    13A-537/13A-537.sb24066356.eb24324502.56514.05971091435
        """
        ref_directory = 'pl-regressiontest/13A-537'
    
        pt = PipelineTester(
            visname=['13A-537.sb24066356.eb24324502.56514.05971091435'],
            recipe='procedure_hifv.xml',
            input_dir=ref_directory,
            output_dir='13A_537__procedure_hifv__regression',
            expectedoutput_dir=ref_directory,
            )
    
&gt;       pt.run(telescope='vla', omp_num_threads=1)

tests/regression/fast/vla_fast_test.py:25: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/testing_utils.py:381: in run
    self.__compare_results(new_file, default_relative_tolerance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = &lt;tests.testing_utils.PipelineTester object at 0x7fc1efb80e30&gt;
new_file = '13A-537.sb24066356.eb24324502.56514.05971091435.NEW.results.txt'
relative_tolerance = 1e-07

    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:
        """
        Compare results between new one loaded from file and old one.
    
        Args:
            new_file : file path of new results
            relative_tolerance : relative tolerance of output value
        """
        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:
            expected_results = expected_fd.readlines()
            new_results = new_fd.readlines()
            errors = []
            worst_diff = (0, 0)
            worst_percent_diff = (0, 0)
            for old, new in zip(expected_results, new_results):
                try:
                    oldkey, oldval, tol = self.__sanitize_results_string(old)
                    newkey, newval, _ = self.__sanitize_results_string(new)
                except ValueError as e:
                    errorstr = "The results: {0} could not be parsed. Error: {1}".format(new, str(e))
                    errors.append(errorstr)
                    continue
    
                assert oldkey == newkey, f"Expected key {oldkey} does not match new key {newkey}."
                tolerance = tol if tol else relative_tolerance
                if newval is not None:
                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)
                    if oldval != pytest.approx(newval, rel=tolerance):
                        diff = oldval-newval
                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100
                        if abs(diff) &gt; abs(worst_diff[0]):
                            worst_diff = diff, oldkey
                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):
                            worst_percent_diff = percent_diff, oldkey
                        errorstr = f"{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%"
                        errors.append(errorstr)
                elif oldval is not None:
                    # If only the new value is None, fail
                    errorstr = f"{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}"
                    errors.append(errorstr)
                else:
                    # If old and new values are both None, this is expected, so pass
                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)
    
            [LOG.warning(x) for x in errors]
            n_errors = len(errors)
            if n_errors &gt; 0:
                summary_str = f"Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%"
                errors.append(summary_str)
&gt;               pytest.fail("Failed to match {0} result value{1} within tolerance{1} :\n{2}".format(
                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)
E               Failed: Failed to match 22 result values within tolerances :
E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s10.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s12.hifv_fluxboot.13A-537.sb24066356.eb24324502.56514.05971091435.flux_densities.spw_0
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.7149940856445874
E               	new:      0.7150110854670872
E               	diff: -1.6999822499808026e-05
E               	percent_diff: -0.0023776172196560484%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 48816966
E               	new:      48816980
E               	diff: -14
E               	percent_diff: -2.8678554091214926e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 48585562
E               	new:      48585576
E               	diff: -14
E               	percent_diff: -2.881514471315573e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_4.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 11498688
E               	new:      11498686
E               	diff: 2
E               	percent_diff: 1.7393288695197225e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s14.hifv_applycals.13A-537.sb24066356.eb24324502.56514.05971091435.scan_8.num_rows_flagged.before
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 3678842
E               	new:      3678844
E               	diff: -2
E               	percent_diff: -5.436493331325455e-05%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 29068884
E               	new:      29069288
E               	diff: -404
E               	percent_diff: -0.0013898022366458926%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_5.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 9127166
E               	new:      9126980
E               	diff: 186
E               	percent_diff: 0.002037872434882854%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_6.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7154697
E               	new:      7154975
E               	diff: -278
E               	percent_diff: -0.0038855593744920296%
E               s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_7.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7755085
E               	new:      7755397
E               	diff: -312
E               	percent_diff: -0.004023166735116378%
E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.mean
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.6294256901955095
E               	new:      0.6294082667176586
E               	diff: 1.7423477850941893e-05
E               	percent_diff: 0.0027681548628130962%
E               s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.06276085915536926
E               	new:      0.06275781189517324
E               	diff: 3.047260196023527e-06
E               	percent_diff: 0.004855351308177288%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 14429416
E               	new:      14429430
E               	diff: -14
E               	percent_diff: -9.702402370269178e-05%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_2.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 7526956
E               	new:      7526960
E               	diff: -4
E               	percent_diff: -5.314233270395098e-05%
E               s8.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.scan_3.num_rows_flagged.after
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 6902460
E               	new:      6902470
E               	diff: -10
E               	percent_diff: -0.0001448758848294666%
E               Worst absolute diff, s15.hifv_checkflag.13A-537.sb24066356.eb24324502.56514.05971091435.num_rows_flagged.after: -404
E               Worst percentage diff, s16.hifv_statwt.13A-537.sb24066356.eb24324502.56514.05971091435.variance: 0.004855351308177288%

tests/testing_utils.py:440: Failed</failure></testcase><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_uid___A002_Xef72bb_X9d29__renorm_restore_procedure_hifa_image__regression" file="tests/regression/fast/alma_if_fast_test.py" line="28" time="8309.763" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_E2E6_1_00010_S__uid___A002_Xd0a588_X2239__procedure_hifa_image__regression" file="tests/regression/fast/alma_if_fast_test.py" line="145" time="9734.266"><failure message="@pytest.mark.twelve&#10;    def test_E2E6_1_00010_S__uid___A002_Xd0a588_X2239__procedure_hifa_image__regression():&#10;        &quot;&quot;&quot;Run ALMA cal+image regression on a 12m moderate-size test dataset in ASDM.&#10;    &#10;        Recipe name:                procedure_hifa_calimage&#10;        Dataset:                    E2E6.1.00010.S: uid___A002_Xd0a588_X2239&#10;        &quot;&quot;&quot;&#10;        ref_directory = 'pl-regressiontest/E2E6.1.00010.S'&#10;    &#10;        pt = PipelineTester(&#10;            visname=['uid___A002_Xd0a588_X2239'],&#10;            recipe='procedure_hifa_calimage.xml',&#10;            input_dir=ref_directory,&#10;            expectedoutput_dir=ref_directory,&#10;        )&#10;    &#10;&gt;       pt.run()&#10;&#10;tests/regression/fast/alma_if_fast_test.py:162: &#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;tests/testing_utils.py:381: in run&#10;    self.__compare_results(new_file, default_relative_tolerance)&#10;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ &#10;&#10;self = &lt;tests.testing_utils.PipelineTester object at 0x7f3c1068ecf0&gt;&#10;new_file = 'uid___A002_Xd0a588_X2239.NEW.results.txt'&#10;relative_tolerance = 1e-07&#10;&#10;    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:&#10;        &quot;&quot;&quot;&#10;        Compare results between new one loaded from file and old one.&#10;    &#10;        Args:&#10;            new_file : file path of new results&#10;            relative_tolerance : relative tolerance of output value&#10;        &quot;&quot;&quot;&#10;        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:&#10;            expected_results = expected_fd.readlines()&#10;            new_results = new_fd.readlines()&#10;            errors = []&#10;            worst_diff = (0, 0)&#10;            worst_percent_diff = (0, 0)&#10;            for old, new in zip(expected_results, new_results):&#10;                try:&#10;                    oldkey, oldval, tol = self.__sanitize_results_string(old)&#10;                    newkey, newval, _ = self.__sanitize_results_string(new)&#10;                except ValueError as e:&#10;                    errorstr = &quot;The results: {0} could not be parsed. Error: {1}&quot;.format(new, str(e))&#10;                    errors.append(errorstr)&#10;                    continue&#10;    &#10;                assert oldkey == newkey, f&quot;Expected key {oldkey} does not match new key {newkey}.&quot;&#10;                tolerance = tol if tol else relative_tolerance&#10;                if newval is not None:&#10;                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)&#10;                    if oldval != pytest.approx(newval, rel=tolerance):&#10;                        diff = oldval-newval&#10;                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100&#10;                        if abs(diff) &gt; abs(worst_diff[0]):&#10;                            worst_diff = diff, oldkey&#10;                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):&#10;                            worst_percent_diff = percent_diff, oldkey&#10;                        errorstr = f&quot;{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%&quot;&#10;                        errors.append(errorstr)&#10;                elif oldval is not None:&#10;                    # If only the new value is None, fail&#10;                    errorstr = f&quot;{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}&quot;&#10;                    errors.append(errorstr)&#10;                else:&#10;                    # If old and new values are both None, this is expected, so pass&#10;                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)&#10;    &#10;            [LOG.warning(x) for x in errors]&#10;            n_errors = len(errors)&#10;            if n_errors &gt; 0:&#10;                summary_str = f&quot;Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%&quot;&#10;                errors.append(summary_str)&#10;&gt;               pytest.fail(&quot;Failed to match {0} result value{1} within tolerance{1} :\n{2}&quot;.format(&#10;                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)&#10;E               Failed: Failed to match 3 result values within tolerances :&#10;E               s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_0.spw_14.qa.metric.score_gfluxscale_amp_time_variation&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 1.9390034714729183&#10;E               &#09;new:      1.9390070410307714&#10;E               &#09;diff: -3.569557853078109e-06&#10;E               &#09;percent_diff: -0.00018409239104489992%&#10;E               s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_2.spw_14.I&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: 0.16244481701133018&#10;E               &#09;new:      0.16244485548598875&#10;E               &#09;diff: -3.847465857020893e-08&#10;E               &#09;percent_diff: -2.3684756016269453e-05%&#10;E               s21.hif_applycal.uid___A002_Xd0a588_X2239.spw_14.qa.metric.gt90deg_offset_phase_vs_freqintercept&#10;E               &#09;values differ by &gt; a relative difference of 1e-07&#10;E               &#09;expected: -95.10457414073348&#10;E               &#09;new:      -95.10462209180606&#10;E               &#09;diff: 4.7951072588148236e-05&#10;E               &#09;percent_diff: -5.041931265807614e-05%&#10;E               Worst absolute diff, s21.hif_applycal.uid___A002_Xd0a588_X2239.spw_14.qa.metric.gt90deg_offset_phase_vs_freqintercept: 4.7951072588148236e-05&#10;E               Worst percentage diff, s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_0.spw_14.qa.metric.score_gfluxscale_amp_time_variation: -0.00018409239104489992%&#10;&#10;tests/testing_utils.py:440: Failed">@pytest.mark.twelve
    def test_E2E6_1_00010_S__uid___A002_Xd0a588_X2239__procedure_hifa_image__regression():
        """Run ALMA cal+image regression on a 12m moderate-size test dataset in ASDM.
    
        Recipe name:                procedure_hifa_calimage
        Dataset:                    E2E6.1.00010.S: uid___A002_Xd0a588_X2239
        """
        ref_directory = 'pl-regressiontest/E2E6.1.00010.S'
    
        pt = PipelineTester(
            visname=['uid___A002_Xd0a588_X2239'],
            recipe='procedure_hifa_calimage.xml',
            input_dir=ref_directory,
            expectedoutput_dir=ref_directory,
        )
    
&gt;       pt.run()

tests/regression/fast/alma_if_fast_test.py:162: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/testing_utils.py:381: in run
    self.__compare_results(new_file, default_relative_tolerance)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = &lt;tests.testing_utils.PipelineTester object at 0x7f3c1068ecf0&gt;
new_file = 'uid___A002_Xd0a588_X2239.NEW.results.txt'
relative_tolerance = 1e-07

    def __compare_results(self, new_file: str, relative_tolerance: float) -&gt; None:
        """
        Compare results between new one loaded from file and old one.
    
        Args:
            new_file : file path of new results
            relative_tolerance : relative tolerance of output value
        """
        with open(self.expectedoutput_file) as expected_fd, open(new_file) as new_fd:
            expected_results = expected_fd.readlines()
            new_results = new_fd.readlines()
            errors = []
            worst_diff = (0, 0)
            worst_percent_diff = (0, 0)
            for old, new in zip(expected_results, new_results):
                try:
                    oldkey, oldval, tol = self.__sanitize_results_string(old)
                    newkey, newval, _ = self.__sanitize_results_string(new)
                except ValueError as e:
                    errorstr = "The results: {0} could not be parsed. Error: {1}".format(new, str(e))
                    errors.append(errorstr)
                    continue
    
                assert oldkey == newkey, f"Expected key {oldkey} does not match new key {newkey}."
                tolerance = tol if tol else relative_tolerance
                if newval is not None:
                    LOG.info('Comparing %s to %s with a rel. tolerance of %s', oldval, newval, tolerance)
                    if oldval != pytest.approx(newval, rel=tolerance):
                        diff = oldval-newval
                        percent_diff = (oldval-newval)/oldval * 100 if oldval != 0 else 100
                        if abs(diff) &gt; abs(worst_diff[0]):
                            worst_diff = diff, oldkey
                        if abs(percent_diff) &gt; abs(worst_percent_diff[0]):
                            worst_percent_diff = percent_diff, oldkey
                        errorstr = f"{oldkey}\n\tvalues differ by &gt; a relative difference of {tolerance}\n\texpected: {oldval}\n\tnew:      {newval}\n\tdiff: {diff}\n\tpercent_diff: {percent_diff}%"
                        errors.append(errorstr)
                elif oldval is not None:
                    # If only the new value is None, fail
                    errorstr = f"{oldkey}\n\tvalue is None\n\texpected: {oldval}\n\tnew:      {newval}"
                    errors.append(errorstr)
                else:
                    # If old and new values are both None, this is expected, so pass
                    LOG.info('Comparing %s and %s... both values are None.', oldval, newval)
    
            [LOG.warning(x) for x in errors]
            n_errors = len(errors)
            if n_errors &gt; 0:
                summary_str = f"Worst absolute diff, {worst_diff[1]}: {worst_diff[0]}\nWorst percentage diff, {worst_percent_diff[1]}: {worst_percent_diff[0]}%"
                errors.append(summary_str)
&gt;               pytest.fail("Failed to match {0} result value{1} within tolerance{1} :\n{2}".format(
                    n_errors, '' if n_errors == 1 else 's', '\n'.join(errors)), pytrace=True)
E               Failed: Failed to match 3 result values within tolerances :
E               s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_0.spw_14.qa.metric.score_gfluxscale_amp_time_variation
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 1.9390034714729183
E               	new:      1.9390070410307714
E               	diff: -3.569557853078109e-06
E               	percent_diff: -0.00018409239104489992%
E               s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_2.spw_14.I
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: 0.16244481701133018
E               	new:      0.16244485548598875
E               	diff: -3.847465857020893e-08
E               	percent_diff: -2.3684756016269453e-05%
E               s21.hif_applycal.uid___A002_Xd0a588_X2239.spw_14.qa.metric.gt90deg_offset_phase_vs_freqintercept
E               	values differ by &gt; a relative difference of 1e-07
E               	expected: -95.10457414073348
E               	new:      -95.10462209180606
E               	diff: 4.7951072588148236e-05
E               	percent_diff: -5.041931265807614e-05%
E               Worst absolute diff, s21.hif_applycal.uid___A002_Xd0a588_X2239.spw_14.qa.metric.gt90deg_offset_phase_vs_freqintercept: 4.7951072588148236e-05
E               Worst percentage diff, s17.hifa_gfluxscale.uid___A002_Xd0a588_X2239.field_0.spw_14.qa.metric.score_gfluxscale_amp_time_variation: -0.00018409239104489992%

tests/testing_utils.py:440: Failed</failure></testcase><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_uid___A002_Xc845c0_X7366__cycle5_restore_procedure_hifa_image__regression" file="tests/regression/fast/alma_if_fast_test.py" line="52" time="11947.556" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_uid___A002_Xee1eb6_Xc58d__procedure_hifa_calsurvey__regression" file="tests/regression/fast/alma_if_fast_test.py" line="183" time="15602.043" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_csv_3899_eb2_small__procedure_hifa_calimage__regression" file="tests/regression/fast/alma_if_fast_test.py" line="164" time="8975.277" /><testcase classname="tests.regression.fast.alma_sd_fast_test" name="test_uid___A002_X85c183_X36f__procedure_hsd_calimage__regression" file="tests/regression/fast/alma_sd_fast_test.py" line="6" time="4645.945" /><testcase classname="tests.regression.fast.vla_fast_test" name="test_13A_537__restore__cont_cube_selfcal__regression" file="tests/regression/fast/vla_fast_test.py" line="73" time="21507.003" /><testcase classname="tests.regression.fast.vlass_fast_test" name="test_TSKY0001__vlass_quicklook_regression" file="tests/regression/fast/vlass_fast_test.py" line="6" time="547.538" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_2022_1_00207_S__uid___A001_X2d20_X373d__PPR__regression" file="tests/regression/fast/alma_if_fast_test.py" line="101" time="28105.982" /><testcase classname="tests.regression.fast.alma_if_fast_test" name="test_2023_1_00228_S__uid___A002_X1199f9e_X7c24__procedure_hifa_calimage_diffgain__regression" file="tests/regression/fast/alma_if_fast_test.py" line="124" time="38084.914" /></testsuite></testsuites>