Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 20 additions & 32 deletions raster/r.mfilter/testsuite/test_r_mfilter.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from tempfile import NamedTemporaryFile
from pathlib import Path

import grass.script as gs
from grass.gunittest.case import TestCase
from grass.gunittest.main import test
from grass.gunittest.utils import xfail_windows


class TestNeighbors(TestCase):
Expand Down Expand Up @@ -185,10 +186,9 @@ class TestNeighbors(TestCase):

def create_filter(self, options):
"""Create a temporary filter file with the given name and options."""
f = NamedTemporaryFile()
f.write(options)
f.flush()
return f
filter_file = gs.tempfile(create=False)
Path(filter_file).write_bytes(options)
return filter_file

@classmethod
def setUpClass(cls):
Expand All @@ -203,7 +203,6 @@ def tearDownClass(cls):
"g.remove", flags="f", type="raster", name=",".join(cls.to_remove)
)

@xfail_windows
def test_sequential(self):
"""Test output with sequential filter type."""
test_case = "test_sequential"
Expand All @@ -216,16 +215,15 @@ def test_sequential(self):
"r.mfilter",
input="elevation",
output=output,
filter=filter.name,
filter=filter,
)
self.assertModule(
"r.mfilter",
input="elevation",
output=output_threaded,
filter=filter.name,
filter=filter,
nprocs=4,
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case],
Expand All @@ -237,7 +235,6 @@ def test_sequential(self):
precision=1e-5,
)

@xfail_windows
def test_parallel(self):
"""Test output with parallel filter type."""
test_case = "test_parallel"
Expand All @@ -250,16 +247,15 @@ def test_parallel(self):
"r.mfilter",
input="elevation",
output=output,
filter=filter.name,
filter=filter,
)
self.assertModule(
"r.mfilter",
input="elevation",
output=output_threaded,
filter=filter.name,
filter=filter,
nprocs=4,
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case],
Expand All @@ -271,7 +267,6 @@ def test_parallel(self):
precision=1e-5,
)

@xfail_windows
def test_sequential_null(self):
"""Test output with sequential filter type with null mode enabled."""
test_case = "test_sequential_null"
Expand All @@ -284,16 +279,15 @@ def test_sequential_null(self):
"r.mfilter",
input="lakes",
output=output,
filter=filter.name,
filter=filter,
)
self.assertModule(
"r.mfilter",
input="lakes",
output=output_z,
filter=filter.name,
filter=filter,
flags="z",
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case][False],
Expand All @@ -305,7 +299,6 @@ def test_sequential_null(self):
precision=1e-5,
)

@xfail_windows
def test_parallel_null(self):
"""Test output with parallel filter type with null mode enabled."""
test_case = "test_parallel_null"
Expand All @@ -320,31 +313,30 @@ def test_parallel_null(self):
"r.mfilter",
input="lakes",
output=output,
filter=filter.name,
filter=filter,
)
self.assertModule(
"r.mfilter",
input="lakes",
output=output_threaded,
filter=filter.name,
filter=filter,
nprocs=4,
)
self.assertModule(
"r.mfilter",
input="lakes",
output=output_z,
filter=filter.name,
filter=filter,
flags="z",
)
self.assertModule(
"r.mfilter",
input="lakes",
output=output_z_threaded,
filter=filter.name,
filter=filter,
flags="z",
nprocs=4,
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case][False],
Expand All @@ -366,7 +358,6 @@ def test_parallel_null(self):
precision=1e-5,
)

@xfail_windows
def test_multiple_filters(self):
"""Test output with multiple filters."""
test_case = "test_multiple_filters"
Expand All @@ -379,16 +370,15 @@ def test_multiple_filters(self):
"r.mfilter",
input="elevation",
output=output,
filter=filter.name,
filter=filter,
)
self.assertModule(
"r.mfilter",
input="elevation",
output=output_threaded,
filter=filter.name,
filter=filter,
nprocs=4,
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case],
Expand All @@ -400,7 +390,6 @@ def test_multiple_filters(self):
precision=1e-5,
)

@xfail_windows
def test_repeated_filters(self):
"""Test output with repeated filters."""
test_case = "test_repeated_filters"
Expand All @@ -413,18 +402,17 @@ def test_repeated_filters(self):
"r.mfilter",
input="elevation",
output=output,
filter=filter.name,
filter=filter,
repeat=3,
)
self.assertModule(
"r.mfilter",
input="elevation",
output=output_threaded,
filter=filter.name,
filter=filter,
repeat=3,
nprocs=4,
)
filter.close()
self.assertRasterFitsUnivar(
raster=output,
reference=self.test_results[test_case],
Expand Down
Loading