[linux] Fix #900, skip or fix failing tests in docker

TestGetProcInodesAll: create a server so there are some opened inodes
TestUsers: skip if Users is empty, because of an empty /var/run/utmp
Test_Process_Groups: skip if Groups is empty
TestConnectionsMax: skip on CI, not only CircleCI
pull/935/head
Lomanic 5 years ago
parent d9f9a85e75
commit 1b3e0c6643

@ -67,7 +67,7 @@ func TestUsers(t *testing.T) {
} }
empty := UserStat{} empty := UserStat{}
if len(v) == 0 { if len(v) == 0 {
t.Fatal("Users is empty") t.Skip("Users is empty")
} }
for _, u := range v { for _, u := range v {
if u == empty { if u == empty {

@ -3,6 +3,7 @@ package net
import ( import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"net"
"os" "os"
"strings" "strings"
"syscall" "syscall"
@ -77,9 +78,27 @@ func TestIOCountersByFileParsing(t *testing.T) {
} }
func TestGetProcInodesAll(t *testing.T) { func TestGetProcInodesAll(t *testing.T) {
if os.Getenv("CIRCLECI") == "true" { waitForServer := make(chan bool)
t.Skip("Skip CI") go func() { // TCP listening goroutine to have some opened inodes even in CI
addr, err := net.ResolveTCPAddr("tcp", "localhost:0") // dynamically get a random open port from OS
if err != nil {
t.Skip("unable to resolve localhost:", err)
}
l, err := net.ListenTCP(addr.Network(), addr)
if err != nil {
t.Skip(fmt.Sprintf("unable to listen on %v: %v", addr, err))
}
defer l.Close()
waitForServer <- true
for {
conn, err := l.Accept()
if err != nil {
t.Skip("unable to accept connection:", err)
}
defer conn.Close()
} }
}()
<-waitForServer
root := common.HostProc("") root := common.HostProc("")
v, err := getProcInodesAll(root, 0) v, err := getProcInodesAll(root, 0)
@ -88,7 +107,7 @@ func TestGetProcInodesAll(t *testing.T) {
} }
func TestConnectionsMax(t *testing.T) { func TestConnectionsMax(t *testing.T) {
if os.Getenv("CIRCLECI") == "true" { if os.Getenv("CI") != "" {
t.Skip("Skip CI") t.Skip("Skip CI")
} }

@ -253,7 +253,10 @@ func Test_Process_Groups(t *testing.T) {
if err != nil { if err != nil {
t.Errorf("getting groups error %v", err) t.Errorf("getting groups error %v", err)
} }
if len(v) <= 0 || v[0] < 0 { if len(v) == 0 {
t.Skip("Groups is empty")
}
if v[0] < 0 {
t.Errorf("invalid Groups: %v", v) t.Errorf("invalid Groups: %v", v)
} }
} }

Loading…
Cancel
Save