Skip to content

Commit 80229b6

Browse files
committed
Correction for mypy
1 parent 409f1c1 commit 80229b6

4 files changed

Lines changed: 17 additions & 6 deletions

File tree

src/example_fgen_basic/get_square_root.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,16 @@ def get_square_root(inv: float) -> float:
7070

7171
if state != 0:
7272
error = ResultGen.from_instance_index(state)
73-
message = error.error_v.message.decode("utf-8")
73+
74+
if error.error_v is None:
75+
msg = (
76+
f"Finalisation of index {result_instance_index} failed with "
77+
f"state {state} but returned no error details."
78+
)
79+
raise AssertionError(msg)
80+
81+
message = error.error_v.message
82+
7483
raise FortranError(error.error_v.code, message)
7584

7685
return res

src/example_fgen_basic/result/result_gen.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ def from_instance_index(cls, instance_index: int) -> ResultGen:
7070
code, message = m_result_w.get_error(instance_index)
7171
# if code is None or message is None:
7272
# raise ValueError("Fortran returned incomplete error information")
73-
error_v = ErrorV(code=code, message=message)
73+
clean_msg = message.decode("utf-8").strip()
74+
error_v = ErrorV(code=code, message=clean_msg)
7475

7576
res = cls(data_v=data_v_err, error_v=error_v)
7677
else:

src/example_fgen_basic/result/result_manager.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ function finalise_instance(instance_index) result(state_index)
9696
)
9797

9898
return
99+
99100
end if
100101

101102
state_index = 0

tests/unit/test_result_gen.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_create_error_result():
3737

3838
result_instance_index = result_in.build_fortran_instance()
3939
result_out = ResultGen.from_instance_index(result_instance_index)
40-
result_out.error_v.message = result_out.error_v.message.decode("utf-8")
40+
result_out.error_v.message = result_out.error_v.message
4141

4242
assert result_in.data_v == result_out.data_v
4343
assert result_in.error_v == result_out.error_v
@@ -57,7 +57,7 @@ def test_create_mix_results():
5757
result_out = ResultGen.from_instance_index(result_instance_index)
5858

5959
if result_out.error_v:
60-
result_out.error_v.message = result_out.error_v.message.decode("utf-8")
60+
result_out.error_v.message = result_out.error_v.message
6161

6262
assert res.data_v == result_out.data_v
6363
assert res.error_v == result_out.error_v
@@ -71,7 +71,7 @@ def test_out_of_alloc_and_bound_error():
7171
result_out = ResultGen.from_instance_index(1)
7272

7373
if result_out.error_v:
74-
result_out.error_v.message = result_out.error_v.message.decode("utf-8")
74+
result_out.error_v.message = result_out.error_v.message
7575

7676
assert (
7777
result_out.error_v.message
@@ -82,7 +82,7 @@ def test_out_of_alloc_and_bound_error():
8282
result_out = ResultGen.from_instance_index(result_instance_index + 10)
8383

8484
if result_out.error_v:
85-
result_out.error_v.message = result_out.error_v.message.decode("utf-8")
85+
result_out.error_v.message = result_out.error_v.message
8686

8787
assert (
8888
result_out.error_v.message

0 commit comments

Comments
 (0)