github.com/apptainer/singularity@v3.1.1+incompatible/internal/pkg/util/signal/signal_test.go (about) 1 // Copyright (c) 2018, Sylabs Inc. All rights reserved. 2 // This software is licensed under a 3-clause BSD license. Please consult the 3 // LICENSE.md file distributed with the sources of this project regarding your 4 // rights to use or distribute this software. 5 6 package signal 7 8 import ( 9 "syscall" 10 "testing" 11 ) 12 13 var signalOK = []struct { 14 tests []string 15 signal syscall.Signal 16 }{ 17 {[]string{"SIGHUP", "HUP", "1"}, syscall.SIGHUP}, 18 {[]string{"SIGINT", "INT", "2"}, syscall.SIGINT}, 19 {[]string{"SIGQUIT", "QUIT", "3"}, syscall.SIGQUIT}, 20 {[]string{"SIGILL", "ILL", "4"}, syscall.SIGILL}, 21 {[]string{"SIGTRAP", "TRAP", "5"}, syscall.SIGTRAP}, 22 {[]string{"SIGABRT", "ABRT", "6"}, syscall.SIGABRT}, 23 {[]string{"SIGBUS", "BUS", "7"}, syscall.SIGBUS}, 24 {[]string{"SIGFPE", "FPE", "8"}, syscall.SIGFPE}, 25 {[]string{"SIGKILL", "KILL", "9"}, syscall.SIGKILL}, 26 {[]string{"SIGUSR1", "USR1", "10"}, syscall.SIGUSR1}, 27 {[]string{"SIGSEGV", "SEGV", "11"}, syscall.SIGSEGV}, 28 {[]string{"SIGUSR2", "USR2", "12"}, syscall.SIGUSR2}, 29 {[]string{"SIGPIPE", "PIPE", "13"}, syscall.SIGPIPE}, 30 {[]string{"SIGALRM", "ALRM", "14"}, syscall.SIGALRM}, 31 {[]string{"SIGTERM", "TERM", "15"}, syscall.SIGTERM}, 32 {[]string{"SIGSTKFLT", "STKFLT", "16"}, syscall.SIGSTKFLT}, 33 {[]string{"SIGCHLD", "CHLD", "17"}, syscall.SIGCHLD}, 34 {[]string{"SIGCONT", "CONT", "18"}, syscall.SIGCONT}, 35 {[]string{"SIGSTOP", "STOP", "19"}, syscall.SIGSTOP}, 36 {[]string{"SIGTSTP", "TSTP", "20"}, syscall.SIGTSTP}, 37 {[]string{"SIGTTIN", "TTIN", "21"}, syscall.SIGTTIN}, 38 {[]string{"SIGTTOU", "TTOU", "22"}, syscall.SIGTTOU}, 39 {[]string{"SIGURG", "URG", "23"}, syscall.SIGURG}, 40 {[]string{"SIGXCPU", "XCPU", "24"}, syscall.SIGXCPU}, 41 {[]string{"SIGXFSZ", "XFSZ", "25"}, syscall.SIGXFSZ}, 42 {[]string{"SIGVTALRM", "VTALRM", "26"}, syscall.SIGVTALRM}, 43 {[]string{"SIGPROF", "PROF", "27"}, syscall.SIGPROF}, 44 {[]string{"SIGWINCH", "WINCH", "28"}, syscall.SIGWINCH}, 45 {[]string{"SIGIO", "IO", "29"}, syscall.SIGIO}, 46 {[]string{"SIGPWR", "PWR", "30"}, syscall.SIGPWR}, 47 {[]string{"SIGSYS", "SYS", "31"}, syscall.SIGSYS}, 48 } 49 50 var signalKO = []struct { 51 tests []string 52 signal syscall.Signal 53 }{ 54 {[]string{"SIGNULL", "NULL", "0"}, 0}, 55 } 56 57 func TestConvert(t *testing.T) { 58 for _, test := range signalOK { 59 for _, sig := range test.tests { 60 if s, err := Convert(sig); s != test.signal && err != nil { 61 t.Error(err) 62 } 63 } 64 } 65 for _, test := range signalKO { 66 for _, sig := range test.tests { 67 if s, err := Convert(sig); s != test.signal && err == nil { 68 t.Error(err) 69 } 70 } 71 } 72 }