Skip to content

Commit 999f35f

Browse files
committed
Corrected error
1 parent f60b408 commit 999f35f

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

src/example_fgen_basic/error_v/creation.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,14 @@ def create_error(inv: int) -> ErrorV:
5454
# Initialise the result from the received index
5555
res = ErrorV.from_instance_index(instance_index)
5656

57+
# Tell Fortran to finalise the object on the Fortran side
58+
# (all data has been copied to Python now)
59+
m_error_v_w.finalise_instance(instance_index)
60+
5761
return res
5862

5963

60-
def create_errors(invs: NP_ARRAY_OF_INT, n: int) -> tuple[ErrorV, ...]:
64+
def create_errors(invs: NP_ARRAY_OF_INT) -> tuple[ErrorV, ...]:
6165
"""
6266
Create a number of errors
6367
@@ -76,7 +80,9 @@ def create_errors(invs: NP_ARRAY_OF_INT, n: int) -> tuple[ErrorV, ...]:
7680
Created errors
7781
"""
7882
# Get the result, but receiving an instance index rather than the object itself
79-
instance_indexes: NP_ARRAY_OF_INT = m_error_v_creation_w.create_errors(invs)
83+
instance_indexes: NP_ARRAY_OF_INT = m_error_v_creation_w.create_errors(
84+
invs, len(invs)
85+
)
8086

8187
# Initialise the result from the received index
8288
res = tuple(ErrorV.from_instance_index(i) for i in instance_indexes)

src/example_fgen_basic/error_v/error_v.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ def from_instance_index(cls, instance_index: int) -> ErrorV:
5959

6060
res = cls(code=code, message=message)
6161

62-
# Tell Fortran to finalise the object on the Fortran side
63-
# (all data has been copied to Python now)
64-
m_error_v_w.finalise_instance(instance_index)
65-
6662
return res
6763

6864
def build_fortran_instance(self) -> int:

src/example_fgen_basic/error_v/error_v_manager.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ subroutine get_available_instance_index(available_instance_index)
7878

7979
! TODO: switch to returning a Result type with an error set
8080
! res = ResultInt(ErrorV(code=1, message="No available instances"))
81+
print *, "print"
8182
error stop 1
8283

8384
end subroutine get_available_instance_index

tests/unit/test_error_v_creation.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ def test_create_error_even():
2323
res = create_error(2.0)
2424

2525
assert isinstance(res, ErrorV)
26-
2726
assert res.code != 0
2827
assert res.code == 1
2928
assert res.message == "Even number supplied"
@@ -48,12 +47,13 @@ def test_create_error_lots_of_repeated_calls():
4847

4948

5049
def test_create_multiple_errors():
51-
res = create_errors(np.arange(6), 6)
52-
50+
res = create_errors(np.arange(6))
5351
for i, v in enumerate(res):
5452
if i % 2 == 0:
53+
print(v.code, v.message)
5554
assert v.code == 1
5655
assert v.message == "Even number supplied"
5756
else:
57+
print(v.code, v.message)
5858
assert v.code == 0
5959
assert v.message == ""

0 commit comments

Comments
 (0)