123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- // +build linux,amd64
- package devmapper
- import (
- "testing"
- )
- func TestTaskCreate(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- // Test success
- taskCreate(t, DeviceInfo)
- // Test Failure
- DmTaskCreate = dmTaskCreateFail
- defer func() { DmTaskCreate = dmTaskCreateFct }()
- if task := TaskCreate(-1); task != nil {
- t.Fatalf("An error should have occured while creating an invalid task.")
- }
- }
- func TestTaskRun(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- // Perform the RUN
- if err := task.Run(); err != nil {
- t.Fatal(err)
- }
- // Make sure we don't have error with GetInfo
- if _, err := task.GetInfo(); err != nil {
- t.Fatal(err)
- }
- // Test failure
- DmTaskRun = dmTaskRunFail
- defer func() { DmTaskRun = dmTaskRunFct }()
- task = taskCreate(t, DeviceInfo)
- // Perform the RUN
- if err := task.Run(); err != ErrTaskRun {
- t.Fatalf("An error should have occured while running task.")
- }
- // Make sure GetInfo also fails
- if _, err := task.GetInfo(); err != ErrTaskGetInfo {
- t.Fatalf("GetInfo should fail if task.Run() failed.")
- }
- }
- func TestTaskSetName(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.SetName("test"); err != nil {
- t.Fatal(err)
- }
- // Test failure
- DmTaskSetName = dmTaskSetNameFail
- defer func() { DmTaskSetName = dmTaskSetNameFct }()
- if err := task.SetName("test"); err != ErrTaskSetName {
- t.Fatalf("An error should have occured while runnign SetName.")
- }
- }
- func TestTaskSetMessage(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.SetMessage("test"); err != nil {
- t.Fatal(err)
- }
- // Test failure
- DmTaskSetMessage = dmTaskSetMessageFail
- defer func() { DmTaskSetMessage = dmTaskSetMessageFct }()
- if err := task.SetMessage("test"); err != ErrTaskSetMessage {
- t.Fatalf("An error should have occured while runnign SetMessage.")
- }
- }
- func TestTaskSetSector(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.SetSector(128); err != nil {
- t.Fatal(err)
- }
- DmTaskSetSector = dmTaskSetSectorFail
- defer func() { DmTaskSetSector = dmTaskSetSectorFct }()
- // Test failure
- if err := task.SetSector(0); err != ErrTaskSetSector {
- t.Fatalf("An error should have occured while running SetSector.")
- }
- }
- func TestTaskSetCookie(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- var (
- cookie uint = 0
- task = taskCreate(t, DeviceInfo)
- )
- // Test success
- if err := task.SetCookie(&cookie, 0); err != nil {
- t.Fatal(err)
- }
- // Test failure
- if err := task.SetCookie(nil, 0); err != ErrNilCookie {
- t.Fatalf("An error should have occured while running SetCookie with nil cookie.")
- }
- DmTaskSetCookie = dmTaskSetCookieFail
- defer func() { DmTaskSetCookie = dmTaskSetCookieFct }()
- if err := task.SetCookie(&cookie, 0); err != ErrTaskSetCookie {
- t.Fatalf("An error should have occured while running SetCookie.")
- }
- }
- func TestTaskSetAddNode(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.SetAddNode(0); err != nil {
- t.Fatal(err)
- }
- // Test failure
- if err := task.SetAddNode(-1); err != ErrInvalidAddNode {
- t.Fatalf("An error should have occured running SetAddNode with wrong node.")
- }
- DmTaskSetAddNode = dmTaskSetAddNodeFail
- defer func() { DmTaskSetAddNode = dmTaskSetAddNodeFct }()
- if err := task.SetAddNode(0); err != ErrTaskSetAddNode {
- t.Fatalf("An error should have occured running SetAddNode.")
- }
- }
- func TestTaskSetRo(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.SetRo(); err != nil {
- t.Fatal(err)
- }
- // Test failure
- DmTaskSetRo = dmTaskSetRoFail
- defer func() { DmTaskSetRo = dmTaskSetRoFct }()
- if err := task.SetRo(); err != ErrTaskSetRo {
- t.Fatalf("An error should have occured running SetRo.")
- }
- }
- func TestTaskAddTarget(t *testing.T) {
- t.Skip("FIXME: not a unit test")
- task := taskCreate(t, DeviceInfo)
- // Test success
- if err := task.AddTarget(0, 128, "thinp", ""); err != nil {
- t.Fatal(err)
- }
- // Test failure
- DmTaskAddTarget = dmTaskAddTargetFail
- defer func() { DmTaskAddTarget = dmTaskAddTargetFct }()
- if err := task.AddTarget(0, 128, "thinp", ""); err != ErrTaskAddTarget {
- t.Fatalf("An error should have occured running AddTarget.")
- }
- }
- // func TestTaskGetInfo(t *testing.T) {
- // task := taskCreate(t, DeviceInfo)
- // // Test success
- // if _, err := task.GetInfo(); err != nil {
- // t.Fatal(err)
- // }
- // // Test failure
- // DmTaskGetInfo = dmTaskGetInfoFail
- // defer func() { DmTaskGetInfo = dmTaskGetInfoFct }()
- // if _, err := task.GetInfo(); err != ErrTaskGetInfo {
- // t.Fatalf("An error should have occured running GetInfo.")
- // }
- // }
- // func TestTaskGetNextTarget(t *testing.T) {
- // task := taskCreate(t, DeviceInfo)
- // if next, _, _, _, _ := task.GetNextTarget(0); next == 0 {
- // t.Fatalf("The next target should not be 0.")
- // }
- // }
- /// Utils
- func taskCreate(t *testing.T, taskType TaskType) *Task {
- task := TaskCreate(taskType)
- if task == nil {
- t.Fatalf("Error creating task")
- }
- return task
- }
- /// Failure function replacement
- func dmTaskCreateFail(t int) *CDmTask {
- return nil
- }
- func dmTaskRunFail(task *CDmTask) int {
- return -1
- }
- func dmTaskSetNameFail(task *CDmTask, name string) int {
- return -1
- }
- func dmTaskSetMessageFail(task *CDmTask, message string) int {
- return -1
- }
- func dmTaskSetSectorFail(task *CDmTask, sector uint64) int {
- return -1
- }
- func dmTaskSetCookieFail(task *CDmTask, cookie *uint, flags uint16) int {
- return -1
- }
- func dmTaskSetAddNodeFail(task *CDmTask, addNode AddNodeType) int {
- return -1
- }
- func dmTaskSetRoFail(task *CDmTask) int {
- return -1
- }
- func dmTaskAddTargetFail(task *CDmTask,
- start, size uint64, ttype, params string) int {
- return -1
- }
- func dmTaskGetInfoFail(task *CDmTask, info *Info) int {
- return -1
- }
- func dmGetNextTargetFail(task *CDmTask, next uintptr, start, length *uint64,
- target, params *string) uintptr {
- return 0
- }
- func dmAttachLoopDeviceFail(filename string, fd *int) string {
- return ""
- }
- func sysGetBlockSizeFail(fd uintptr, size *uint64) sysErrno {
- return 1
- }
- func dmUdevWaitFail(cookie uint) int {
- return -1
- }
- func dmSetDevDirFail(dir string) int {
- return -1
- }
- func dmGetLibraryVersionFail(version *string) int {
- return -1
- }
|