|
73 | 73 | error_stop_code: 128 |
74 | 74 | container: intel/fortran-essentials:2025.0.0-0-devel-ubuntu22.04 |
75 | 75 |
|
| 76 | + # --- LFortran coverage --- |
| 77 | + |
| 78 | + # https://hub.docker.com/r/phhargrove/lfortran/tags |
| 79 | + - os: ubuntu-24.04 |
| 80 | + compiler: lfortran |
| 81 | + version: 0.54.0 |
| 82 | + container: phhargrove/lfortran:0.54.0-1 |
| 83 | + |
76 | 84 | container: |
77 | 85 | image: ${{ matrix.container }} |
78 | 86 |
|
@@ -122,6 +130,9 @@ jobs: |
122 | 130 | echo "FPM_FC=flang-new" >> "$GITHUB_ENV" ; \ |
123 | 131 | elif test "$FC" = "ifx" ; then \ |
124 | 132 | echo "FPM_FC=ifx" >> "$GITHUB_ENV" ; \ |
| 133 | + elif test "$FC" = "lfortran" ; then \ |
| 134 | + echo "FPM_FC=lfortran" >> "$GITHUB_ENV" ; \ |
| 135 | + echo "FFLAGS=--cpp $FFLAGS" >> "$GITHUB_ENV" ; \ |
125 | 136 | else \ |
126 | 137 | echo "FPM_FC=gfortran-${COMPILER_VERSION}" >> "$GITHUB_ENV" ; \ |
127 | 138 | echo "FFLAGS=-ffree-line-length-0 $FFLAGS" >> "$GITHUB_ENV" ; \ |
@@ -163,21 +174,26 @@ jobs: |
163 | 174 | set -x |
164 | 175 | fpm test ${FPM_FLAGS} --flag "$FFLAGS" |
165 | 176 | fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" |
| 177 | + fpm run --example simple-assertions ${FPM_FLAGS} --flag "$FFLAGS" |
166 | 178 | fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" |
167 | 179 |
|
168 | 180 | - name: Build and Test (Assertions ON) |
169 | 181 | env: |
170 | 182 | FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERTIONS |
171 | 183 | run: | |
172 | 184 | set -x |
173 | | - fpm test ${FPM_FLAGS} --flag "$FFLAGS" |
174 | | - ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
175 | | - ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 185 | + fpm test ${FPM_FLAGS} --flag "$FFLAGS" |
| 186 | + ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 187 | + ( set +e ; fpm run --example simple-assertions ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 188 | + ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
176 | 189 |
|
177 | 190 | - name: Test Assertions w/ Parallel Callbacks |
| 191 | + if: ${{ matrix.compiler != 'lfortran' }} # issue #68 |
178 | 192 | env: |
179 | | - FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERTIONS --flag -DASSERT_MULTI_IMAGE --flag -DASSERT_PARALLEL_CALLBACKS |
| 193 | + FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERT_MULTI_IMAGE --flag -DASSERT_PARALLEL_CALLBACKS |
180 | 194 | run: | |
181 | 195 | set -x |
182 | | - ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
183 | | - ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 196 | + fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" |
| 197 | + fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" |
| 198 | + ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS -DASSERTIONS" ; test $? = $ERROR_STOP_CODE ) |
| 199 | + ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS -DASSERTIONS" ; test $? = $ERROR_STOP_CODE ) |
0 commit comments