Tracking issue for Fortran frontend test failures on `multi_sdfg` branch.
- Dominant language
- Python
- Stars
- 593
- Forks
- 163
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 60
Description
This is a tracking bug for the many Fortran frontend tests that are currently failing on `multi_sdfg` branch. I'll add more to the list as I find them.
### Things to consider
- Many tests programs are invalid Fortran code. We need to verify first that what we parse are compilable Fortran in the first place (e.g. with `gfortran -Wall -c`).
- For the same reason as above, even if the test is passing, there is a small possibility that the test would fail if a valid Fortran code is given.
### At commit d0025e3
- [x] `tests/fortran/intrinsic_all_test.py`: 8 out of 9 tests fail. There are three failure points, which might also be related themselves:
1.
```
> return ast_internal_classes.Array_Subscript_Node(name=node.name, type=node.type, indices=newer_indices, line_number=node.line_number)
E AttributeError: 'Array_Subscript_Node' object has no attribute 'type'
../../dace/frontend/fortran/ast_transforms.py:1269: AttributeError
```
2.
```
> offsets = scope_vars.get_var(node.parent, node.name.name).offsets
E AttributeError: 'NoneType' object has no attribute 'parent'
../../dace/frontend/fortran/ast_transforms.py:1804: AttributeError
```
3.
```
> offsets = scope_vars.get_var(node.parent, node.name.name).offsets
E AttributeError: 'NoneType' object has no attribute 'parent'
../../dace/frontend/fortran/ast_transforms.py:1804: AttributeError
```
- [x] `tests/fortran/intrinsic_any_test.py`: 8 out of 9 tests fail. Same as above.
- [x] `tests/fortran/intrinsic_count_test.py`: 8 out of 9 tests fail. Same as above.
- [x] `tests/fortran/intrinsic_merge_test.py`: 5 out of 6 tests fail. Same as above.
- [x] `tests/fortran/intrinsic_minmaxval_test.py`: 4 out of 4 tests fail. Same as above.
- [x] `tests/fortran/intrinsic_product_test.py`: 2 out of 3 tests fail. Same as above.
- [x] `tests/fortran/intrinsic_sum_test.py`: 4 out of 4 tests fail. Same as above.
- [ ] `tests/fortran/intrinsic_blas_test.py`: 2 out of 2 tests fail. Both at the same failure point:
1.
```
> data_path = edge.data.data.split(".")
E AttributeError: 'NoneType' object has no attribute 'split'
../../dace/sdfg/replace.py:203: AttributeError
```
- [ ] `tests/fortran/intrinsic_math_test.py`: 1 out of 18 tests fail. Reasons:
1.
```
> self.nodes[child.name_pointer.name] = child.name_target
E AttributeError: 'Data_Ref_Node' object has no attribute 'name'
../../dace/frontend/fortran/ast_transforms.py:2409: AttributeError
```
- [ ] `tests/fortran/prune_test.py`: 2 out of 3 tests fail. These will pass if `normalizing_offset` parameter is set to `True`.
1.
```
> assert (a[2] == 40)
E assert 42.0 == 40
prune_test.py:97: AssertionError
```
- [ ] `tests/fortran/parent_test.py`: 1 out of 2 tests fail. Reason:
```
> specification = module.specification_part.specifications[0]
E IndexError: list index out of range
parent_test.py:84: IndexError
```
- [ ] `tests/fortran/array_attributes_test.py`: 1 out of 10 tests fail. Reason: it generates an invalid SDFG that does not compile.
- [ ] `tests/fortran/pointer_removal_test.py`: 3 out of 4 tests fail. Reasons:
1.
```
> for symbol in var_decl.sizes:
E TypeError: 'NoneType' object is not iterable
../../dace/frontend/fortran/ast_transforms.py:2452: TypeError
```
2.
```
> result = super(NestedDict, self).__getitem__(token)
E KeyError: 's->val1'
../../dace/sdfg/sdfg.py:60: KeyError
```
3.
```
> assert (a[2, 0] == 1410)
E assert 1.0 == 1410
pointer_removal_test.py:147: AssertionError
```
Contributor guide
Assessment
This issue has not been assessed yet.