Files
cloudpods/pkg/baremetal/utils/disktool/disktool_test.go
T

92 lines
2.5 KiB
Go

// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package disktool
import "testing"
// TODO: use mock ssh server backend test disktool
/*
import (
"testing"
"yunion.io/x/log"
"yunion.io/x/pkg/util/stringutils"
"yunion.io/x/onecloud/pkg/compute/baremetal"
"yunion.io/x/onecloud/pkg/util/ssh"
)
var (
term *ssh.Client
)
func init() {
var err error
term, err = ssh.NewClient("192.168.0.254", 22, "root", "rMw2qrm6Lb5NVpe0", "")
if err != nil {
log.Fatalf("Failed to init ssh client: %v", err)
}
}
func TestSSHCreate(t *testing.T) {
tool := NewSSHPartitionTool(term)
err := tool.FetchDiskConfs([]baremetal.DiskConfiguration{
{
Adapter: 0,
Driver: baremetal.DISK_DRIVER_LINUX,
},
}).RetrieveDiskInfo()
if err != nil {
t.Errorf("Failed to RetrieveDiskInfo: %v", err)
}
err = tool.RetrievePartitionInfo()
if err != nil {
t.Errorf("Failed to RetrievePartitionInfo: %v", err)
}
log.Infof("%s", tool.DebugString())
uuid := stringutils.UUID4
tool.CreatePartition(-1, 32, "swap", true, baremetal.DISK_DRIVER_LINUX, uuid())
tool.CreatePartition(-1, 1024, "ext4", true, baremetal.DISK_DRIVER_LINUX, uuid())
err = tool.CreatePartition(-1, -1, "xfs", true, baremetal.DISK_DRIVER_LINUX, uuid())
//err = tool.ResizePartition(0, 110*1024)
if err != nil {
t.Errorf("Failed to resize fs: %v", err)
}
}*/
func Test_getPCIPathPrefix(t *testing.T) {
tests := []struct {
input string
want string
}{
{
input: "/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/host0/target0:1:0/0:1:0:0/block/sda",
want: "/sys/devices/pci0000:00/0000:00:02.2/0000:02:00.0/host0/target0:1:0/0:1:0:0",
},
{
input: "/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme/nvme0/nvme0n1",
want: "/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/nvme",
},
}
for _, tt := range tests {
t.Run(tt.input, func(t *testing.T) {
if got := getPCIPathPrefix(tt.input); got != tt.want {
t.Errorf("getPCIPathPrefix() = %v, want %v", got, tt.want)
}
})
}
}