27 lines
		
	
	
		
			811 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			811 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import pytest
 | 
						|
 | 
						|
from numpy.f2py import crackfortran
 | 
						|
from numpy.testing import IS_WASM
 | 
						|
 | 
						|
from . import util
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.skipif(IS_WASM, reason="Cannot start subprocess")
 | 
						|
@pytest.mark.slow
 | 
						|
class TestAbstractInterface(util.F2PyTest):
 | 
						|
    sources = [util.getpath("tests", "src", "abstract_interface", "foo.f90")]
 | 
						|
 | 
						|
    skip = ["add1", "add2"]
 | 
						|
 | 
						|
    def test_abstract_interface(self):
 | 
						|
        assert self.module.ops_module.foo(3, 5) == (8, 13)
 | 
						|
 | 
						|
    def test_parse_abstract_interface(self):
 | 
						|
        # Test gh18403
 | 
						|
        fpath = util.getpath("tests", "src", "abstract_interface",
 | 
						|
                             "gh18403_mod.f90")
 | 
						|
        mod = crackfortran.crackfortran([str(fpath)])
 | 
						|
        assert len(mod) == 1
 | 
						|
        assert len(mod[0]["body"]) == 1
 | 
						|
        assert mod[0]["body"][0]["block"] == "abstract interface"
 |