mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2024-11-14 02:37:25 +01:00
56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestNodeList(t *testing.T) {
|
|
nl, err := ParseNodeList("hallo,wel123t,emmy[01-99],fritz[005-500],woody[100-200]")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if nl.Contains("hello") || nl.Contains("woody") {
|
|
t.Fail()
|
|
}
|
|
|
|
if nl.Contains("fritz1") || nl.Contains("fritz9") || nl.Contains("fritz004") || nl.Contains("woody201") {
|
|
t.Fail()
|
|
}
|
|
|
|
if !nl.Contains("hallo") || !nl.Contains("wel123t") {
|
|
t.Fail()
|
|
}
|
|
|
|
if !nl.Contains("emmy01") || !nl.Contains("emmy42") || !nl.Contains("emmy99") {
|
|
t.Fail()
|
|
}
|
|
|
|
if !nl.Contains("woody100") || !nl.Contains("woody199") {
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestNodeListCommasInBrackets(t *testing.T) {
|
|
nl, err := ParseNodeList("a[1000-2000,2010-2090,3000-5000]")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if nl.Contains("hello") || nl.Contains("woody") {
|
|
t.Fatal("1")
|
|
}
|
|
|
|
if nl.Contains("a0") || nl.Contains("a0000") || nl.Contains("a5001") || nl.Contains("a2005") {
|
|
t.Fatal("2")
|
|
}
|
|
|
|
if !nl.Contains("a1001") || !nl.Contains("a2000") {
|
|
t.Fatal("3")
|
|
}
|
|
|
|
if !nl.Contains("a2042") || !nl.Contains("a4321") || !nl.Contains("a3000") {
|
|
t.Fatal("4")
|
|
}
|
|
}
|