-
Notifications
You must be signed in to change notification settings - Fork 232
Open
Labels
maintenanceBoring but important stuff for the core devsBoring but important stuff for the core devsupstreamBug or missing feature of upstream core GMTBug or missing feature of upstream core GMT
Description
macos-latest
has migrated from macOS-12 to macOS-14 in a few hours ago. All tests are good except x2sys_cross
tests.
- Latest run with macOS-12: https://github.com/GenericMappingTools/pygmt/actions/runs/8792433777/job/24128565756
- Latest run with macOS-14: https://github.com/GenericMappingTools/pygmt/actions/runs/8792433777/job/24153784055
The failures are:
=================================== FAILURES ===================================
_________________ test_x2sys_cross_input_file_output_dataframe _________________
@pytest.mark.usefixtures("mock_x2sys_home")
@pytest.mark.xfail(
condition=Version(__gmt_version__) < Version("6.5.0"),
reason="Upstream bug fixed in https://github.com/GenericMappingTools/gmt/pull/8188",
)
def test_x2sys_cross_input_file_output_dataframe():
"""
Run x2sys_cross by passing in a filename, and output internal crossovers to a
pandas.DataFrame.
"""
with TemporaryDirectory(prefix="X2SYS", dir=Path.cwd()) as tmpdir:
tag = Path(tmpdir).name
x2sys_init(tag=tag, fmtfile="xyz", force=True)
output = x2sys_cross(tracks=["@tut_ship.xyz"], tag=tag, coe="i")
assert isinstance(output, pd.DataFrame)
> assert output.shape == (14338, 12)
E assert (14374, 12) == (14338, 12)
E
E At index 0 diff: 14374 != 14338
E
E Full diff:
E (
E - 14338,
E ? ^^
E + 14374,
E ? ^^
E 12,
E )
../pygmt/tests/test_x2sys_cross.py:76: AssertionError
----------------------------- Captured stderr call -----------------------------
Warning: ss [WARNING]: No time column, use dummy times
_______________ test_x2sys_cross_region_interpolation_numpoints ________________
@pytest.mark.usefixtures("mock_x2sys_home")
@pytest.mark.xfail(
condition=Version(__gmt_version__) < Version("6.5.0"),
reason="Upstream bug fixed in https://github.com/GenericMappingTools/gmt/pull/8188",
)
def test_x2sys_cross_region_interpolation_numpoints():
"""
Test that x2sys_cross's region (R), interpolation (l) and numpoints (W) arguments
work.
"""
with TemporaryDirectory(prefix="X2SYS", dir=Path.cwd()) as tmpdir:
tag = Path(tmpdir).name
x2sys_init(tag=tag, fmtfile="xyz", force=True)
output = x2sys_cross(
tracks=["@tut_ship.xyz"],
tag=tag,
coe="i",
region=[245, 250, 20, 25],
interpolation="a", # Akima spline interpolation
numpoints=5, # Use up to 5 data points in interpolation
)
assert isinstance(output, pd.DataFrame)
> assert output.shape == (3882, 12)
E assert (3894, 12) == (3882, 12)
E
E At index 0 diff: 3894 != 3882
E
E Full diff:
E (
E - 3882,
E ? ^^
E + 3894,
E ? ^^
E 12,
E )
../pygmt/tests/test_x2sys_cross.py:224: AssertionError
----------------------------- Captured stderr call -----------------------------
Warning: ss [WARNING]: No time column, use dummy times
_________________________ test_x2sys_cross_trackvalues _________________________
@pytest.mark.usefixtures("mock_x2sys_home")
@pytest.mark.xfail(
condition=Version(__gmt_version__) < Version("6.5.0"),
reason="Upstream bug fixed in https://github.com/GenericMappingTools/gmt/pull/8188",
)
def test_x2sys_cross_trackvalues():
"""
Test that x2sys_cross's trackvalues (Z) argument work.
"""
with TemporaryDirectory(prefix="X2SYS", dir=Path.cwd()) as tmpdir:
tag = Path(tmpdir).name
x2sys_init(tag=tag, fmtfile="xyz", force=True)
output = x2sys_cross(tracks=["@tut_ship.xyz"], tag=tag, trackvalues=True)
assert isinstance(output, pd.DataFrame)
> assert output.shape == (14338, 12)
E assert (14374, 12) == (14338, 12)
E
E At index 0 diff: 14374 != 14338
E
E Full diff:
E (
E - 14338,
E ? ^^
E + 14374,
E ? ^^
E 12,
E )
For reference, the data shapes were updated in PR #2986 after the upstream fix GenericMappingTools/gmt#8188.
In GenericMappingTools/gmt#8188, if (tx_a < ta_stop && tx_b < tb_stop)
was changed to if (tx_a < ta_stop && tx_b <= tb_stop)
. I guess the floating-point comparison may be tricky and depend on the C compiler.
Metadata
Metadata
Assignees
Labels
maintenanceBoring but important stuff for the core devsBoring but important stuff for the core devsupstreamBug or missing feature of upstream core GMTBug or missing feature of upstream core GMT