rbd: add test cases about create image for rbd_create, rbd_create2, rbd_create3

Signed-off-by: Vicente Cheng <freeze.bilsted@gmail.com>
This commit is contained in:
Vicente Cheng 2016-12-23 00:21:55 +08:00
parent 19439f3958
commit d6ed102905
1 changed files with 41 additions and 0 deletions

View File

@ -11,6 +11,10 @@ import (
"testing" "testing"
) )
//Rdb feature
var RbdFeatureLayering = uint64(1 << 0)
var RbdFeatureStripingV2 = uint64(1 << 1)
func GetUUID() string { func GetUUID() string {
out, _ := exec.Command("uuidgen").Output() out, _ := exec.Command("uuidgen").Output()
return string(out[:36]) return string(out[:36])
@ -23,6 +27,43 @@ func TestVersion(t *testing.T) {
assert.False(t, patch < 0 || patch > 1000, "invalid patch") assert.False(t, patch < 0 || patch > 1000, "invalid patch")
} }
func TestCreateImage(t *testing.T) {
conn, _ := rados.NewConn()
conn.ReadDefaultConfigFile()
conn.Connect()
poolname := GetUUID()
err := conn.MakePool(poolname)
assert.NoError(t, err)
ioctx, err := conn.OpenIOContext(poolname)
assert.NoError(t, err)
name := GetUUID()
image, err := rbd.Create(ioctx, name, 1<<22, 22)
assert.NoError(t, err)
err = image.Remove()
assert.NoError(t, err)
name = GetUUID()
image, err = rbd.Create(ioctx, name, 1<<22, 22,
RbdFeatureLayering|RbdFeatureStripingV2)
assert.NoError(t, err)
err = image.Remove()
assert.NoError(t, err)
name = GetUUID()
image, err = rbd.Create(ioctx, name, 1<<22, 22,
RbdFeatureLayering|RbdFeatureStripingV2, 4096, 2)
assert.NoError(t, err)
err = image.Remove()
assert.NoError(t, err)
ioctx.Destroy()
conn.DeletePool(poolname)
conn.Shutdown()
}
func TestGetImageNames(t *testing.T) { func TestGetImageNames(t *testing.T) {
conn, _ := rados.NewConn() conn, _ := rados.NewConn()
conn.ReadDefaultConfigFile() conn.ReadDefaultConfigFile()