Skip to content

Add coverage support #103

Add coverage support

Add coverage support #103

Workflow file for this run

##############################################################################
# Copyright Christopher Kormanyos 2023 - 2024.
# Distributed under the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt
# or copy at http://www.boost.org/LICENSE_1_0.txt)
name: gamma_f77
on:
push:
branches:
- '**'
pull_request:
jobs:
ubuntu-native:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
standard: [ legacy, f2018 ]
compiler: [ g++ ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: ubuntu-native
run: |
${{ matrix.compiler }} -x f77 -std=${{ matrix.standard }} -m64 -fno-exceptions -O2 gamma.f -lgfortran -lquadmath -o gamma.exe
ls -la gamma.exe
./gamma.exe | grep '0.947395504039301942134227647281424E+00'
./gamma.exe | grep '0.110784755653406415338349971053114E+01'
./gamma.exe | grep '0.271139823924390323650711692085896E+01'
./gamma.exe | grep '0.102754040920152050479188001843206E+02'
./gamma.exe | grep '0.531934282525008207389522379291889E+02'
./gamma.exe | grep '0.350998609824200588801455504140098E+03'
./gamma.exe | grep '0.282509453680418713613816084109635E+04'
./gamma.exe | grep '0.269036719467497675679082571845063E+05'
./gamma.exe | grep '0.296439082102472192334520537379648E+06'
./gamma.exe | grep '0.554521067573633755529159865936434E-01'
./gamma.exe | grep '0.265252859812191058636308480000000E+33'
ubuntu-native-asan:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
standard: [ legacy, f2018 ]
compiler: [ g++ ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: ubuntu-native
run: |
${{ matrix.compiler }} -x f77 -std=${{ matrix.standard }} -m64 -fno-exceptions -fsanitize=address -fsanitize=leak -O1 gamma.f -lgfortran -lquadmath -o gamma.exe
ls -la gamma.exe
setarch `uname -m` -R ./gamma.exe | grep '0.947395504039301942134227647281424E+00'
setarch `uname -m` -R ./gamma.exe | grep '0.110784755653406415338349971053114E+01'
setarch `uname -m` -R ./gamma.exe | grep '0.271139823924390323650711692085896E+01'
setarch `uname -m` -R ./gamma.exe | grep '0.102754040920152050479188001843206E+02'
setarch `uname -m` -R ./gamma.exe | grep '0.531934282525008207389522379291889E+02'
setarch `uname -m` -R ./gamma.exe | grep '0.350998609824200588801455504140098E+03'
setarch `uname -m` -R ./gamma.exe | grep '0.282509453680418713613816084109635E+04'
setarch `uname -m` -R ./gamma.exe | grep '0.269036719467497675679082571845063E+05'
setarch `uname -m` -R ./gamma.exe | grep '0.296439082102472192334520537379648E+06'
setarch `uname -m` -R ./gamma.exe | grep '0.554521067573633755529159865936434E-01'
setarch `uname -m` -R ./gamma.exe | grep '0.265252859812191058636308480000000E+33'
ubuntu-native-ubsan:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
standard: [ legacy, f2018 ]
compiler: [ g++ ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: ubuntu-native
run: |
${{ matrix.compiler }} -x f77 -std=${{ matrix.standard }} -m64 -fno-exceptions -fsanitize=shift -fsanitize=shift-exponent -fsanitize=shift-base -fsanitize=integer-divide-by-zero -fsanitize=null -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=enum -O1 gamma.f -lgfortran -lquadmath -o gamma.exe
ls -la gamma.exe
./gamma.exe | grep '0.947395504039301942134227647281424E+00'
./gamma.exe | grep '0.110784755653406415338349971053114E+01'
./gamma.exe | grep '0.271139823924390323650711692085896E+01'
./gamma.exe | grep '0.102754040920152050479188001843206E+02'
./gamma.exe | grep '0.531934282525008207389522379291889E+02'
./gamma.exe | grep '0.350998609824200588801455504140098E+03'
./gamma.exe | grep '0.282509453680418713613816084109635E+04'
./gamma.exe | grep '0.269036719467497675679082571845063E+05'
./gamma.exe | grep '0.296439082102472192334520537379648E+06'
./gamma.exe | grep '0.554521067573633755529159865936434E-01'
./gamma.exe | grep '0.265252859812191058636308480000000E+33'
macos-native:
runs-on: macos-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
compiler: [ g++-13 ]
standard: [ legacy, f2018 ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: update-tools
run: brew reinstall gcc@13
- name: brew-installed-gcc-path
run: |
PATH="/usr/local/Cellar/gcc/13.2.0/bin:$PATH"
- name: g++-version
run: |
echo Query the g++ version
${{ matrix.compiler }} -v
- name: macos-native
run: |
${{ matrix.compiler }} -x f77 -std=${{ matrix.standard }} -m64 -fno-exceptions -O2 gamma.f -lgfortran -lquadmath -o gamma.exe
ls -la gamma.exe
./gamma.exe | grep '0.947395504039301942134227647281424E+00'
./gamma.exe | grep '0.110784755653406415338349971053114E+01'
./gamma.exe | grep '0.271139823924390323650711692085896E+01'
./gamma.exe | grep '0.102754040920152050479188001843206E+02'
./gamma.exe | grep '0.531934282525008207389522379291889E+02'
./gamma.exe | grep '0.350998609824200588801455504140098E+03'
./gamma.exe | grep '0.282509453680418713613816084109635E+04'
./gamma.exe | grep '0.269036719467497675679082571845063E+05'
./gamma.exe | grep '0.296439082102472192334520537379648E+06'
./gamma.exe | grep '0.554521067573633755529159865936434E-01'
./gamma.exe | grep '0.265252859812191058636308480000000E+33'
ubuntu-native-valgrind:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
standard: [ legacy, f2018 ]
compiler: [ g++ ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: update-tools
run: |
sudo apt-get update -y
sudo apt-get install -y valgrind
- name: ubuntu-native-valgrind-run
run: |
${{ matrix.compiler }} -x f77 -std=${{ matrix.standard }} -m64 -fno-exceptions -O1 gamma.f -lgfortran -lquadmath -o gamma.exe
ls -la gamma.exe
valgrind --leak-check=yes --log-file=gamma_valgrind_0.txt ./gamma.exe | grep '0.947395504039301942134227647281424E+00'
valgrind --leak-check=yes --log-file=gamma_valgrind_1.txt ./gamma.exe | grep '0.110784755653406415338349971053114E+01'
valgrind --leak-check=yes --log-file=gamma_valgrind_2.txt ./gamma.exe | grep '0.271139823924390323650711692085896E+01'
valgrind --leak-check=yes --log-file=gamma_valgrind_3.txt ./gamma.exe | grep '0.102754040920152050479188001843206E+02'
valgrind --leak-check=yes --log-file=gamma_valgrind_4.txt ./gamma.exe | grep '0.531934282525008207389522379291889E+02'
valgrind --leak-check=yes --log-file=gamma_valgrind_5.txt ./gamma.exe | grep '0.350998609824200588801455504140098E+03'
valgrind --leak-check=yes --log-file=gamma_valgrind_6.txt ./gamma.exe | grep '0.282509453680418713613816084109635E+04'
valgrind --leak-check=yes --log-file=gamma_valgrind_7.txt ./gamma.exe | grep '0.269036719467497675679082571845063E+05'
valgrind --leak-check=yes --log-file=gamma_valgrind_8.txt ./gamma.exe | grep '0.296439082102472192334520537379648E+06'
valgrind --leak-check=yes --log-file=gamma_valgrind_9.txt ./gamma.exe | grep '0.554521067573633755529159865936434E-01'
valgrind --leak-check=yes --log-file=gamma_valgrind_10.txt ./gamma.exe | grep '0.265252859812191058636308480000000E+33'
- name: ubuntu-native-valgrind-check
run: |
#!/bin/bash
for i in {0..10}; do
filename="gamma_valgrind_$i.txt"
grep '0 bytes in 0 blocks' $filename
grep '0 errors from 0 contexts' $filename
done