Skip to content

Commit

Permalink
Add post-run-command notify implementation for windows
Browse files Browse the repository at this point in the history
Requires notify-send.exe: http://vaskovsky.net/notify-send
  • Loading branch information
afbjorklund committed Aug 27, 2023
1 parent e7e66e9 commit 5e8da52
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions contrib/notify/notify_windows.go
@@ -0,0 +1,60 @@
package main

import (
"fmt"
"log"
"os"
"os/exec"
"strconv"
)

func main() {
total := envInt("TOTAL")
skipped := envInt("SKIPPED")
failed := envInt("FAILED")
errors := envInt("ERRORS")

icon := "info" // Info 🛈
title := "Passed"
switch {
case errors > 0:
icon = "error" // Error ⮾
title = "Errored"
case failed > 0:
icon = "important" // Warning ⚠
title = "Failed"
case skipped > 0:
title = "Passed with skipped"
}

subtitle := fmt.Sprintf("%d Tests Run", total)
if errors > 0 {
subtitle += fmt.Sprintf(", %d Errored", errors)
}
if failed > 0 {
subtitle += fmt.Sprintf(", %d Failed", failed)
}
if skipped > 0 {
subtitle += fmt.Sprintf(", %d Skipped", skipped)
}

args := []string{
"-i", icon,
title,
subtitle,
}
log.Printf("notify-send %#v", args)
err := exec.Command("notify-send.exe", args...).Run()
if err != nil {
log.Fatalf("Failed to exec: %v", err)
}
}

func envInt(name string) int {
val := os.Getenv("TESTS_" + name)
n, err := strconv.Atoi(val)
if err != nil {
return 0
}
return n
}

0 comments on commit 5e8da52

Please sign in to comment.