39
func findFixture(target string, t *testing.T) string {
40
abs, err := filepath.Abs("../fixtures/" + target)
39
47
func setupUnit(target string, conn *Conn, t *testing.T) {
40
48
// Blindly stop the unit in case it is running
41
49
conn.StopUnit(target, "replace")
43
51
// Blindly remove the symlink in case it exists
44
52
targetRun := filepath.Join("/run/systemd/system/", target)
45
err := os.Remove(targetRun)
48
abs, err := filepath.Abs("../fixtures/" + target)
56
func linkUnit(target string, conn *Conn, t *testing.T) {
57
abs := findFixture(target, t)
53
58
fixture := []string{abs}
55
install, changes, err := conn.EnableUnitFiles(fixture, true, true)
60
changes, err := conn.LinkUnitFiles(fixture, true, true)
61
t.Fatal("Install was true")
64
65
if len(changes) < 1 {
65
66
t.Fatalf("Expected one change, got %v", changes)
68
if changes[0].Filename != targetRun {
69
runPath := filepath.Join("/run/systemd/system/", target)
70
if changes[0].Filename != runPath {
69
71
t.Fatal("Unexpected target filename")
76
78
conn := setupConn(t)
78
80
setupUnit(target, conn, t)
81
linkUnit(target, conn, t)
80
83
// 2. Start the unit
81
84
job, err := conn.StartUnit(target, "replace")
87
t.Fatal("Job is not done, %v", job)
90
t.Fatal("Job is not done:", job)
90
93
units, err := conn.ListUnits()
130
133
conn := setupConn(t)
132
135
setupUnit(target, conn, t)
136
abs := findFixture(target, t)
137
runPath := filepath.Join("/run/systemd/system/", target)
134
abs, err := filepath.Abs("../fixtures/" + target)
139
// 1. Enable the unit
140
install, changes, err := conn.EnableUnitFiles([]string{abs}, true, true)
139
path := filepath.Join("/run/systemd/system/", target)
145
if install != false {
146
t.Fatal("Install was true")
149
if len(changes) < 1 {
150
t.Fatalf("Expected one change, got %v", changes)
153
if changes[0].Filename != runPath {
154
t.Fatal("Unexpected target filename")
141
157
// 2. Disable the unit
142
changes, err := conn.DisableUnitFiles([]string{abs}, true)
158
dChanges, err := conn.DisableUnitFiles([]string{abs}, true)
147
if len(changes) != 1 {
148
t.Fatalf("Changes should include the path, %v", changes)
150
if changes[0].Filename != path {
151
t.Fatalf("Change should include correct filename, %+v", changes[0])
153
if changes[0].Destination != "" {
154
t.Fatalf("Change destination should be empty, %+v", changes[0])
163
if len(dChanges) != 1 {
164
t.Fatalf("Changes should include the path, %v", dChanges)
166
if dChanges[0].Filename != runPath {
167
t.Fatalf("Change should include correct filename, %+v", dChanges[0])
169
if dChanges[0].Destination != "" {
170
t.Fatalf("Change destination should be empty, %+v", dChanges[0])
231
247
value := info["CPUShares"].(uint64)
232
248
if value != 1023 {
233
t.Fatal("CPUShares of unit is not 1023, %s", value)
249
t.Fatal("CPUShares of unit is not 1023:", value)
252
268
if job != "done" {
253
t.Fatal("Job is not done, %v", job)
269
t.Fatal("Job is not done:", job)
256
272
units, err := conn.ListUnits()
295
311
conn := setupConn(t)
297
313
setupUnit(target, conn, t)
314
linkUnit(target, conn, t)
299
316
jobSize := len(conn.jobListener.jobs)