github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/os/fsi/tests/suite0_test.go (about)

     1  // +build suite0
     2  // go test -tags=suite0
     3  
     4  package tests
     5  
     6  import (
     7  	"io/ioutil"
     8  	"os"
     9  	"testing"
    10  )
    11  
    12  func TestWriteRead(t *testing.T) {
    13  
    14  	Fss, c := initFileSystems()
    15  	defer c.Close()
    16  
    17  	for _, fs := range Fss {
    18  
    19  		c.Infof(" ")
    20  		c.Infof("%v %v\n", fs.Name(), fs.String())
    21  		c.Infof("================================")
    22  
    23  		err := fs.Mkdir("/temp/testdir", os.ModePerm)
    24  		if err != nil {
    25  			if !os.IsExist(err) {
    26  				c.Criticalf("%v\n", err)
    27  				t.Fatalf("%v\n", err)
    28  			}
    29  		}
    30  
    31  		f, err := fs.Create("/temp/testdir/test.txt")
    32  		if err != nil {
    33  			c.Criticalf("create: %v\n", err)
    34  			t.Fatalf("create: %v\n", err)
    35  		}
    36  
    37  		bts0 := []byte("some text content")
    38  		_, err = f.WriteString(string(bts0))
    39  		if err != nil {
    40  			c.Criticalf("writestr: %v\n", err)
    41  			t.Fatalf("writestr: %v\n", err)
    42  		}
    43  
    44  		err = f.Close()
    45  		if err != nil {
    46  			c.Criticalf("close: %v\n", err)
    47  			t.Fatalf("close: %v\n", err)
    48  		}
    49  
    50  		f2, err := fs.Open("/temp/testdir/test.txt")
    51  		if err != nil {
    52  			c.Criticalf("%v\n", err)
    53  			t.Fatalf("%v\n", err)
    54  		}
    55  		defer f2.Close()
    56  		bts1, err := ioutil.ReadAll(f2)
    57  		if err != nil {
    58  			c.Criticalf("%v\n", err)
    59  			t.Fatalf("%v\n", err)
    60  		}
    61  		// c.Infof("1st: %v\n", string(bts1))
    62  
    63  		bts2, err := fs.ReadFile("/temp/testdir/test.txt")
    64  		if err != nil {
    65  			c.Criticalf("%v\n", err)
    66  			t.Fatalf("%v\n", err)
    67  		}
    68  
    69  		// c.Infof("2nd: %v\n", string(bts2))
    70  
    71  		bts4 := []byte("other stuff")
    72  		err = fs.WriteFile("/temp/testdir/test1.txt", bts4, os.ModePerm)
    73  		if err != nil {
    74  			c.Criticalf("%v\n", err)
    75  			t.Fatalf("%v\n", err)
    76  		}
    77  
    78  		bts5, err := fs.ReadFile("/temp/testdir/test1.txt")
    79  		if err != nil {
    80  			c.Criticalf("%v\n", err)
    81  			t.Fatalf("%v\n", err)
    82  		}
    83  
    84  		if !(string(bts0) == string(bts1) && string(bts1) == string(bts2)) {
    85  			t.Fatalf("there are differences \nwnt %s \ngt1 %s \ngt2 %s", bts0, bts1, bts2)
    86  		}
    87  		if !(string(bts4) == string(bts5)) {
    88  			t.Fatalf("there are differences \nwnt %s \ngt1 %s", bts4, bts5)
    89  		}
    90  
    91  		// fsc, ok := fs.(*memfs.MemMapFs)
    92  		// if ok {
    93  		// 	fsc.Dump()
    94  		// }
    95  
    96  	}
    97  
    98  }