loki.frontend.tests.test_frontends
Verify correct frontend behaviour and correct parsing of certain Fortran language features.
Functions
|
Test the use of associate to access and modify other items |
|
Verify that reading in subroutines with deferred external type definitions and associates working on that are supported. |
|
Verify that associates with expressions are supported |
Test if assumed size declarations are correctly parsed. |
|
|
Test the use of SOURCE and STAT in allocate |
|
Test that multiple |
|
Verify that enums are represented correctly |
|
Checks that provided module and type info is attached during parse |
|
Ensure that all frontends can handle empty source files correctly (#186) |
|
Loki can't handle PROGRAM blocks and the frontends should throw an exception |
Test that !$loki dimension pragmas can be used to override the conceptual .shape of module variables. |
|
|
Make sure pragmas and comments are identified correctly |
Test that !$loki dimension pragmas can be used to override the conceptual .shape of local and argument variables. |
|
|
|
|
Verify that frontends fail on unsupported features if strict mode is enabled |
|
Check that the return symbol of a function has the right scope |
|
Verify that only public symbols are imported from other modules. |
|
Test that multiple |
|
Test that locally defined functions that shadow intrinsics are handled. |
|
Test that multi-line pragmas are parsed and dealt with correctly. |
|
Test that source sanitizing works as expected and postprocessing rules are correctly applied |
|
Test that source sanitizing works as expected and postprocessing rules are correctly applied |
|
Test that source sanitizing works as expected and postprocessing rules are correctly applied |
- fixture_reset_frontend_mode()
- test_check_alloc_opts(tmp_path, frontend)
Test the use of SOURCE and STAT in allocate
- test_associates(tmp_path, frontend)
Test the use of associate to access and modify other items
- test_associates_deferred(frontend)
Verify that reading in subroutines with deferred external type definitions and associates working on that are supported.
- test_associates_expr(tmp_path, frontend)
Verify that associates with expressions are supported
- test_enum(tmp_path, frontend)
Verify that enums are represented correctly
- test_frontend_strict_mode(frontend, tmp_path)
Verify that frontends fail on unsupported features if strict mode is enabled
- test_frontend_pragma_vs_comment(frontend, tmp_path)
Make sure pragmas and comments are identified correctly
- test_frontend_main_program(frontend)
Loki can’t handle PROGRAM blocks and the frontends should throw an exception
- test_frontend_source_lineno(frontend)
…
- test_frontend_empty_file(frontend, fcode)
Ensure that all frontends can handle empty source files correctly (#186)
- test_pragma_line_continuation(frontend)
Test that multi-line pragmas are parsed and dealt with correctly.
- test_comment_block_clustering(frontend)
Test that multiple
Comment
nodes into aCommentBlock
.
- test_inline_comments(frontend)
Test that multiple
Comment
nodes into aCommentBlock
.
- test_source_sanitize_fp_source(tmp_path, from_file, preprocess)
Test that source sanitizing works as expected and postprocessing rules are correctly applied
- test_source_sanitize_fp_subroutine(preprocess)
Test that source sanitizing works as expected and postprocessing rules are correctly applied
- test_source_sanitize_fp_module(preprocess)
Test that source sanitizing works as expected and postprocessing rules are correctly applied
- test_frontend_routine_variables_dimension_pragmas(frontend)
Test that !$loki dimension pragmas can be used to override the conceptual .shape of local and argument variables.
- test_frontend_module_variables_dimension_pragmas(frontend, tmp_path)
Test that !$loki dimension pragmas can be used to override the conceptual .shape of module variables.
- test_import_of_private_symbols(tmp_path, frontend)
Verify that only public symbols are imported from other modules.
- test_intrinsic_shadowing(tmp_path, frontend)
Test that locally defined functions that shadow intrinsics are handled.
- test_function_symbol_scoping(frontend)
Check that the return symbol of a function has the right scope
- test_frontend_derived_type_imports(tmp_path, frontend)
Checks that provided module and type info is attached during parse
- test_assumed_size_declarations()
Test if assumed size declarations are correctly parsed.