Skip to content
Snippets Groups Projects
Select Git revision
  • 1663f7fd6e808b5e056a26e236a186254a6758a6
  • master default protected
  • 1.0.0
3 results

Makefile

Blame
  • build-cover-report.nix 1.08 KiB
    {
      pkgs,
      lib,
      ...
    }: let
      common = pkgs.callPackage ./common.nix {};
    
      # Definieren eines schreibbaren Verzeichnisses
      writableDir = pkgs.stdenv.mkDerivation {
        name = "cover-report";
        buildCommand = ''
          mkdir -p $out
        '';
      };
    in
      pkgs.writeShellScriptBin "build-cover-report" ''
        ${common}
    
        echo_header "Building cover report"
    
        download_test_images
        setup_go_env
    
        echo_section "Building"
        ${pkgs.go}/bin/go test -v -coverprofile=${writableDir}/coverage.out ./...
        if [ $? -ne 0 ];
        then
          echo_fail "Failed to run tests"
          exit 1
        fi
    
        if ! ${pkgs.go}/bin/go tool cover -html=${writableDir}/coverage.out -o ${writableDir}/coverage.html
        then
          echo_fail "Failed to generate coverage report"
          exit 1
        fi
        echo_ok "Coverage report stored at ${writableDir}"
    
        echo_step "Opening coverage report in browser"
        if ! ${pkgs.xdg-utils}/bin/xdg-open ${writableDir}/coverage.html > /dev/null 2>&1
        then
          echo_fail "Failed to open coverage report in browser"
          exit 1
        fi
    
        echo_ok "Report opened in browser"
      ''