MCPcopy
hub / github.com/firecracker-microvm/firecracker-containerd / TestDebugConfig

Function TestDebugConfig

runtime/service_test.go:280–327  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

278}
279
280func TestDebugConfig(t *testing.T) {
281 emptyDebugHelper, err := debug.New()
282 require.NoError(t, err, "failed to create empty debug helper")
283 fcDebugHelper, err := debug.New(debug.LogLevelFirecrackerDebug)
284 require.NoError(t, err, "failed to create firecracker debug helper")
285
286 cases := []struct {
287 name string
288 service *service
289 }{
290 {
291 name: "empty",
292 service: &service{
293 logger: logrus.NewEntry(logrus.New()),
294 config: &config.Config{
295 DebugHelper: emptyDebugHelper,
296 },
297 },
298 },
299 {
300 name: "LogLevel set",
301 service: &service{
302 logger: logrus.NewEntry(logrus.New()),
303 config: &config.Config{
304 LogLevels: []string{debug.LogLevelFirecrackerDebug},
305 DebugHelper: fcDebugHelper,
306 },
307 },
308 },
309 }
310
311 path := t.TempDir()
312
313 for i, c := range cases {
314 stubDrivePath := filepath.Join(path, fmt.Sprintf("%d", i))
315 err := os.MkdirAll(stubDrivePath, os.ModePerm)
316 assert.NoError(t, err, "failed to create stub drive path")
317
318 c.service.shimDir = vm.Dir(stubDrivePath)
319 c.service.jailer = newNoopJailer(context.Background(), c.service.logger, c.service.shimDir)
320
321 req := proto.CreateVMRequest{}
322
323 cfg, err := c.service.buildVMConfiguration(&req)
324 assert.NoError(t, err, "failed to build firecracker configuration")
325 assert.Equal(t, c.service.config.DebugHelper.GetFirecrackerLogLevel(), cfg.LogLevel)
326 }
327}
328
329// TestTaskCreateDoesNotLogStdoutOrStderrFields validates the firecracker-containerd runtime service implementation
330// does not log the Stdout/Stderr request fields because they may contain sensitive information for the shim logger binary use case.

Callers

nothing calls this directly

Calls 5

NewFunction · 0.92
DirTypeAlias · 0.92
newNoopJailerFunction · 0.85
buildVMConfigurationMethod · 0.80

Tested by

no test coverage detected