Skip to content

Commit e0838bb

Browse files
committed
ProcessPID fix
Signed-off-by: luke <luke.parkin@arm.com>
1 parent 4b743a2 commit e0838bb

1 file changed

Lines changed: 41 additions & 19 deletions

File tree

e2e/runtime_test.go

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"os"
77
"path/filepath"
88
"strings"
9-
"syscall"
109
"testing"
1110

1211
"github.com/arm/remoteproc-runtime/e2e/limavm"
@@ -152,59 +151,82 @@ func testID(t testing.TB) string {
152151
}
153152

154153
func TestRuntimeKillProcessByPid(t *testing.T) {
154+
limavm.Require(t)
155+
155156
rootDir := t.TempDir()
157+
158+
runtimeBin, err := repo.BuildRuntimeBin(t.TempDir(), rootDir, limavm.BinBuildEnv)
159+
require.NoError(t, err)
160+
161+
vm, err := limavm.NewDebian(rootDir)
162+
require.NoError(t, err)
163+
defer vm.Cleanup()
164+
165+
installedRuntime, err := vm.InstallBin(runtimeBin)
166+
require.NoError(t, err)
167+
156168
sim := remoteproc.NewSimulator(rootDir).WithName("nice-processor")
157169
if err := sim.Start(); err != nil {
158170
t.Fatalf("failed to run simulator: %s", err)
159171
}
160172
defer func() { _ = sim.Stop() }()
161-
bin, err := repo.BuildRuntimeBin(t.TempDir(), rootDir, nil)
162-
require.NoError(t, err)
163173

164174
const containerName = "test-container"
165175

166-
bundlePath := t.TempDir()
176+
bundlePath := filepath.Join(rootDir, "bundle")
167177
require.NoError(t, generateBundle(bundlePath, "nice-processor"))
168-
_, err = invokeRuntime(bin, "create", "--bundle", bundlePath, containerName)
169-
require.NoError(t, err)
178+
_, stderr, err := installedRuntime.Run("create", "--bundle", bundlePath, containerName)
179+
require.NoError(t, err, "stderr: %s", stderr)
170180

171-
pid, err := getContainerPid(bin, containerName)
181+
pid, err := getContainerPid(installedRuntime, containerName)
172182
require.NoError(t, err)
173183
require.Greater(t, pid, 0)
174184

175-
_, err = invokeRuntime(bin, "start", containerName)
176-
require.NoError(t, err)
185+
_, stderr, err = installedRuntime.Run("start", containerName)
186+
require.NoError(t, err, "stderr: %s", stderr)
177187
remoteproc.RequireState(t, sim.DeviceDir(), "running")
178188

179-
require.NoError(t, sendSignal(pid, syscall.SIGTERM))
189+
_, stderr, err = vm.RunCommand("kill", "-TERM", fmt.Sprintf("%d", pid))
190+
require.NoError(t, err, "stderr: %s", stderr)
180191
remoteproc.AssertState(t, sim.DeviceDir(), "offline")
181192
}
182193

183194
func TestRuntimeWriteProcessPid(t *testing.T) {
195+
limavm.Require(t)
196+
184197
rootDir := t.TempDir()
185198
remoteprocName := "oh-what-a-device"
199+
200+
runtimeBin, err := repo.BuildRuntimeBin(t.TempDir(), rootDir, limavm.BinBuildEnv)
201+
require.NoError(t, err)
202+
203+
vm, err := limavm.NewDebian(rootDir)
204+
require.NoError(t, err)
205+
defer vm.Cleanup()
206+
207+
installedRuntime, err := vm.InstallBin(runtimeBin)
208+
require.NoError(t, err)
209+
186210
sim := remoteproc.NewSimulator(rootDir).WithName(remoteprocName)
187211
if err := sim.Start(); err != nil {
188212
t.Fatalf("failed to run simulator: %s", err)
189213
}
190214
defer func() { _ = sim.Stop() }()
191-
bin, err := repo.BuildRuntimeBin(t.TempDir(), rootDir, nil)
192-
require.NoError(t, err)
193215

194216
const containerName = "test-container"
195217

196-
bundlePath := t.TempDir()
197-
pidFilePath := filepath.Join(t.TempDir(), "pidfile.txt")
218+
bundlePath := filepath.Join(rootDir, "bundle")
219+
pidFilePath := filepath.Join(rootDir, "pidfile.txt")
198220
require.NoError(t, generateBundle(bundlePath, remoteprocName))
199-
_, err = invokeRuntime(
200-
bin, "create",
221+
_, stderr, err := installedRuntime.Run(
222+
"create",
201223
"--bundle", bundlePath,
202224
"--pid-file", pidFilePath,
203225
containerName,
204226
)
205-
require.NoError(t, err)
227+
require.NoError(t, err, "stderr: %s", stderr)
206228

207-
pid, err := getContainerPid(bin, containerName)
229+
pid, err := getContainerPid(installedRuntime, containerName)
208230
require.NoError(t, err)
209231
require.Greater(t, pid, 0)
210232

@@ -282,7 +304,7 @@ func TestRuntimeProxyKeepsHostNamespaceWhenRootInLimaVM(t *testing.T) {
282304
require.NoError(t, err)
283305
t.Cleanup(vm.Cleanup)
284306

285-
installedRuntime, err := vm.InstallBin(runtimeBin)
307+
_, err = vm.InstallBin(runtimeBin)
286308
require.NoError(t, err)
287309

288310
sim := remoteproc.NewSimulator(rootDir).WithName(remoteprocName)

0 commit comments

Comments
 (0)