You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2015/10/31 22:02:40 UTC
[03/20] lucy git commit: Test Folder Go bindings.
Test Folder Go bindings.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/c7e96366
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/c7e96366
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/c7e96366
Branch: refs/heads/LUCY-282-test-index-go-pt1
Commit: c7e96366a57662564cbaae6b6ef2d432f5d0f1c1
Parents: dee4ee8
Author: Marvin Humphrey <ma...@rectangular.com>
Authored: Tue Oct 20 18:22:20 2015 -0700
Committer: Marvin Humphrey <ma...@rectangular.com>
Committed: Tue Oct 20 18:22:20 2015 -0700
----------------------------------------------------------------------
go/lucy/store_test.go | 140 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 140 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/c7e96366/go/lucy/store_test.go
----------------------------------------------------------------------
diff --git a/go/lucy/store_test.go b/go/lucy/store_test.go
index d37025c..5c73693 100644
--- a/go/lucy/store_test.go
+++ b/go/lucy/store_test.go
@@ -293,3 +293,143 @@ func TestIOStreamMisc(t *testing.T) {
t.Errorf("GetFilename: %s", got)
}
}
+
+func runFolderTests(t *testing.T, folder Folder) {
+ folder.Initialize()
+ if !folder.Check() {
+ t.Errorf("Check")
+ }
+
+ folder.MkDir("stuff")
+ outStream := folder.OpenOut("stuff/hello")
+ if outStream == nil {
+ t.Errorf("OpenOut")
+ }
+ outStream.WriteBytes([]byte("hi"), 2)
+ outStream.Close()
+ inStream := folder.OpenIn("stuff/hello")
+ if inStream == nil {
+ t.Errorf("OpenIn")
+ }
+ inStream.Close()
+ fh := folder.OpenFileHandle("stuff/hello", 0x1) // 0x1 == FH_READ_ONLY
+ if fh == nil {
+ t.Errorf("OpenFileHandle")
+ }
+ fh.Close()
+ dh := folder.OpenDir("stuff")
+ if dh == nil {
+ t.Errorf("OpenDir")
+ }
+ dh.Close()
+
+ if got := folder.SlurpFile("stuff/hello"); !reflect.DeepEqual(got, []byte("hi")) {
+ t.Errorf("SlurpFile: %s", got)
+ }
+
+ if !folder.Exists("stuff") {
+ t.Errorf("Exists [directory]")
+ }
+ if !folder.Exists("stuff/hello") {
+ t.Errorf("Exists [file]")
+ }
+ if folder.Exists("stuff/nope") {
+ t.Errorf("Exists [non-existent entry]")
+ }
+
+ if !folder.IsDirectory("stuff") {
+ t.Errorf("IsDirectory [directory]")
+ }
+ if folder.IsDirectory("stuff/hello") {
+ t.Errorf("IsDirectory [file]")
+ }
+ if folder.IsDirectory("nope") {
+ t.Errorf("IsDirectory [non-existent entry]")
+ }
+
+ listExpected := []interface{}{"stuff"}
+ if got := folder.List(""); !reflect.DeepEqual(got, listExpected) {
+ t.Errorf("Unexpected result for List: %v", got)
+ }
+ listRExpected := []interface{}{"stuff", "stuff/hello"}
+ if got := folder.ListR(""); !reflect.DeepEqual(got, listRExpected) {
+ t.Errorf("Unexpected result for ListR: %v", got)
+ }
+ if stuff := folder.FindFolder("stuff"); stuff == nil {
+ t.Errorf("FindFolder")
+ }
+ if nope := folder.FindFolder("nope"); nope != nil {
+ t.Errorf("FindFolder [non-existent]")
+ }
+ if stuff := folder.EnclosingFolder("stuff/hello"); stuff == nil {
+ t.Errorf("EnclosingFolder")
+ }
+ if nope := folder.EnclosingFolder("nada/nope/nyet"); nope != nil {
+ t.Errorf("EnclosingFolder [non-existent]")
+ }
+
+ if success := folder.HardLink("stuff/hello", "aloha"); !success {
+ t.Errorf("HardLink")
+ }
+ if success := folder.Rename("stuff/hello", "stuff/hola"); !success {
+ t.Errorf("Rename")
+ }
+ if success := folder.Delete("stuff/hola"); !success {
+ t.Errorf("Delete")
+ }
+
+ if fh := folder.LocalOpenFileHandle("aloha", 0x1); fh == nil {
+ t.Errorf("LocalOpenFileHandle")
+ }
+ if in := folder.LocalOpenIn("aloha"); in == nil {
+ t.Errorf("LocalOpenIn")
+ } else {
+ in.Close()
+ }
+ if !folder.LocalMkDir("things") {
+ t.Errorf("LocalMkdir")
+ }
+ if !folder.LocalExists("things") {
+ t.Errorf("LocalExists")
+ }
+ if !folder.LocalIsDirectory("things") {
+ t.Errorf("LocalIsDirectory")
+ }
+ if things := folder.LocalFindFolder("things"); things == nil {
+ t.Errorf("LocalFindFolder")
+ }
+ if dh := folder.LocalOpenDir(); dh == nil {
+ t.Errorf("LocalOpenDir")
+ } else {
+ dh.Close()
+ }
+ if !folder.LocalDelete("things") {
+ t.Errorf("LocalDelete")
+ }
+
+ folder.Consolidate("stuff")
+
+ if success := folder.DeleteTree("stuff"); !success {
+ t.Errorf("DeleteTree")
+ }
+
+ folder.Close()
+}
+
+func TestRAMFolderBasics(t *testing.T) {
+ folder := NewRAMFolder("orig")
+ if folder.GetPath() != "orig" {
+ t.Error("GetPath")
+ }
+ folder.SetPath("basedir")
+ if folder.GetPath() != "basedir" {
+ t.Error("SetPath/GetPath")
+ }
+ runFolderTests(t, folder)
+}
+
+func TestFSFolderBasics(t *testing.T) {
+ folder := NewFSFolder("_fsfolder_go_test")
+ defer os.RemoveAll("_fsfolder_go_test")
+ runFolderTests(t, folder)
+}