gitee.com/leisunstar/runtime@v0.0.0-20200521203717-5cef3e7b53f9/virtcontainers/pkg/cgroups/manager_test.go (about)

     1  // Copyright (c) 2020 Intel Corporation
     2  //
     3  // SPDX-License-Identifier: Apache-2.0
     4  //
     5  
     6  package cgroups
     7  
     8  import (
     9  	"testing"
    10  
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestEnableSystemdCgroup(t *testing.T) {
    15  	assert := assert.New(t)
    16  
    17  	orgSystemdCgroup := systemdCgroup
    18  	defer func() {
    19  		systemdCgroup = orgSystemdCgroup
    20  	}()
    21  
    22  	useSystemdCgroup := UseSystemdCgroup()
    23  	if systemdCgroup != nil {
    24  		assert.Equal(*systemdCgroup, useSystemdCgroup)
    25  	} else {
    26  		assert.False(useSystemdCgroup)
    27  	}
    28  
    29  	EnableSystemdCgroup()
    30  	assert.True(UseSystemdCgroup())
    31  }
    32  
    33  func TestNew(t *testing.T) {
    34  	assert := assert.New(t)
    35  	useSystemdCgroup := false
    36  	orgSystemdCgroup := systemdCgroup
    37  	defer func() {
    38  		systemdCgroup = orgSystemdCgroup
    39  	}()
    40  	systemdCgroup = &useSystemdCgroup
    41  
    42  	c := &Config{
    43  		Cgroups:    nil,
    44  		CgroupPath: "",
    45  	}
    46  
    47  	mgr, err := New(c)
    48  	assert.NoError(err)
    49  	assert.NotNil(mgr.mgr)
    50  
    51  	useSystemdCgroup = true
    52  	mgr, err = New(c)
    53  	assert.Error(err)
    54  	assert.Nil(mgr)
    55  }