Skip to content

Commit

Permalink
test: fix TestSocketActivation on systemd-v219
Browse files Browse the repository at this point in the history
Fixes rkt#1739
  • Loading branch information
alban committed Nov 23, 2015
1 parent 74b9015 commit 3c8b762
Showing 1 changed file with 12 additions and 24 deletions.
36 changes: 12 additions & 24 deletions tests/rkt_socket_activation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,15 @@ func TestSocketActivation(t *testing.T) {

rnd := r.Int()

// Write unit files directly to runtime system units directory
// (/run/systemd/system) to avoid calling LinkUnitFiles - it is buggy in
// systemd v219 as it does not work with absolute paths.
unitsDir := "/run/systemd/system"

cmd := fmt.Sprintf("%s --insecure-skip-verify run --mds-register=false %s", ctx.Cmd(), echoImage)
serviceContent := fmt.Sprintf(rktTestingEchoService, cmd)
serviceTarget := fmt.Sprintf("rkt-testing-socket-activation-%d.service", rnd)
serviceTargetBase := fmt.Sprintf("rkt-testing-socket-activation-%d.service", rnd)
serviceTarget := filepath.Join(unitsDir, serviceTargetBase)

if err := ioutil.WriteFile(serviceTarget, []byte(serviceContent), 0666); err != nil {
t.Fatal(err)
Expand All @@ -103,32 +109,14 @@ func TestSocketActivation(t *testing.T) {
ListenStream=%d
`
socketContent := fmt.Sprintf(rktTestingEchoSocket, port)
socketTarget := fmt.Sprintf("rkt-testing-socket-activation-%d.socket", rnd)
socketTargetBase := fmt.Sprintf("rkt-testing-socket-activation-%d.socket", rnd)
socketTarget := filepath.Join(unitsDir, socketTargetBase)

if err := ioutil.WriteFile(socketTarget, []byte(socketContent), 0666); err != nil {
t.Fatal(err)
}
defer os.Remove(socketTarget)

serviceTargetAbs, err := filepath.Abs(serviceTarget)
if err != nil {
t.Fatal(err)
}

_, err = conn.LinkUnitFiles([]string{serviceTargetAbs}, true, false)
if err != nil {
t.Fatal(err)
}

socketTargetAbs, err := filepath.Abs(socketTarget)
if err != nil {
t.Fatal(err)
}

if _, err := conn.LinkUnitFiles([]string{socketTargetAbs}, true, false); err != nil {
t.Fatal(err)
}

reschan := make(chan string)
doJob := func() {
job := <-reschan
Expand All @@ -137,18 +125,18 @@ func TestSocketActivation(t *testing.T) {
}
}

if _, err := conn.StartUnit(socketTarget, "replace", reschan); err != nil {
if _, err := conn.StartUnit(socketTargetBase, "replace", reschan); err != nil {
t.Fatal(err)
}
doJob()

defer func() {
if _, err := conn.StopUnit(socketTarget, "replace", reschan); err != nil {
if _, err := conn.StopUnit(socketTargetBase, "replace", reschan); err != nil {
t.Fatal(err)
}
doJob()

if _, err := conn.StopUnit(serviceTarget, "replace", reschan); err != nil {
if _, err := conn.StopUnit(serviceTargetBase, "replace", reschan); err != nil {
t.Fatal(err)
}
doJob()
Expand Down

0 comments on commit 3c8b762

Please sign in to comment.