// Copyright (c) 2017 Intel Corporation // // SPDX-License-Identifier: Apache-2.0 // package virtcontainers import ( "fmt" "testing" "github.com/stretchr/testify/assert" ) func TestAddRemoveDevice(t *testing.T) { assert := assert.New(t) // create a bridge bridges := []*Bridge{{make(map[uint32]string), pciBridge, "rgb123", 5}} // add device devID := "abc123" b := bridges[0] addr, err := b.addDevice(devID) assert.NoError(err) if addr < 1 { assert.Fail("address cannot be less than 1") } // remove device err = b.removeDevice("") assert.Error(err) err = b.removeDevice(devID) assert.NoError(err) // add device when the bridge is full bridges[0].Address = make(map[uint32]string) for i := uint32(1); i <= pciBridgeMaxCapacity; i++ { bridges[0].Address[i] = fmt.Sprintf("%d", i) } addr, err = b.addDevice(devID) assert.Error(err) if addr != 0 { assert.Fail("address should be 0") } }