Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
test_assumed_shape.py51 linesDownload Raw Back to tests
1import os
2import tempfile
3
4import pytest
5
6from . import util
7
8
9class TestAssumedShapeSumExample(util.F2PyTest):
10    sources = [
11        util.getpath("tests", "src", "assumed_shape", "foo_free.f90"),
12        util.getpath("tests", "src", "assumed_shape", "foo_use.f90"),
13        util.getpath("tests", "src", "assumed_shape", "precision.f90"),
14        util.getpath("tests", "src", "assumed_shape", "foo_mod.f90"),
15        util.getpath("tests", "src", "assumed_shape", ".f2py_f2cmap"),
16    ]
17
18    @pytest.mark.slow
19    def test_all(self):
20        r = self.module.fsum([1, 2])
21        assert r == 3
22        r = self.module.sum([1, 2])
23        assert r == 3
24        r = self.module.sum_with_use([1, 2])
25        assert r == 3
26
27        r = self.module.mod.sum([1, 2])
28        assert r == 3
29        r = self.module.mod.fsum([1, 2])
30        assert r == 3
31
32
33class TestF2cmapOption(TestAssumedShapeSumExample):
34    def setup_method(self):
35        # Use a custom file name for .f2py_f2cmap
36        self.sources = list(self.sources)
37        f2cmap_src = self.sources.pop(-1)
38
39        self.f2cmap_file = tempfile.NamedTemporaryFile(delete=False)
40        with open(f2cmap_src, "rb") as f:
41            self.f2cmap_file.write(f.read())
42        self.f2cmap_file.close()
43
44        self.sources.append(self.f2cmap_file.name)
45        self.options = ["--f2cmap", self.f2cmap_file.name]
46
47        super().setup_method()
48
49    def teardown_method(self):
50        os.unlink(self.f2cmap_file.name)
51 
codekingpro/portable-devtools · Team Ai