go-hep.org/x/hep@v0.38.1/groot/riofs/fileplugin_test.go (about) 1 // Copyright ©2018 The go-hep Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package riofs 6 7 import ( 8 "path/filepath" 9 "reflect" 10 "sort" 11 "testing" 12 ) 13 14 func TestLocalFile(t *testing.T) { 15 local, err := filepath.Abs("../testdata/simple.root") 16 if err != nil { 17 t.Fatal(err) 18 } 19 f, err := openFile("file://" + local) 20 if err != nil { 21 t.Fatal(err) 22 } 23 defer f.Close() 24 } 25 26 func TestRegister(t *testing.T) { 27 func() { 28 defer func() { 29 e := recover() 30 if e == nil { 31 t.Fatalf("expected a panic") 32 } 33 }() 34 Register("file1", nil) 35 }() 36 37 func() { 38 defer func() { 39 e := recover() 40 if e == nil { 41 t.Fatalf("expected a panic") 42 } 43 }() 44 Register("test-register", openLocalFile) 45 Register("test-register", openLocalFile) 46 }() 47 } 48 49 func TestDrivers(t *testing.T) { 50 list := Drivers() 51 const name = "test-drivers" 52 defer func() { 53 drivers.Lock() 54 defer drivers.Unlock() 55 delete(drivers.db, name) 56 }() 57 58 Register(name, openLocalFile) 59 list = append(list, name) 60 sort.Strings(list) 61 62 if got, want := Drivers(), list; !reflect.DeepEqual(got, want) { 63 t.Fatalf("got=%v, want=%v", got, want) 64 } 65 }