World:Local

&1 ← &server ← "apple1-nfs"
=> "apple1-nfs"
&2 ← &rdir ← "<server>xerox3>"
=> "<server>xerox3>"
&3 ← &ldir ← "[]<>data4.3>"
=> "[]<>data4.3>"
&4 ← &ldir ← "[]<>dV>" -- for system V short file names
=> "[]<>dV>"
&5 ←
&5 ← SunNFSRemoteFileImpl.nfsSendBufferBytes ← 8192
=> 8192
&6 ← SunNFSRemoteFileImpl.nfsSendBufferBytes ← 1024
=> 1024
&7 ← SunNFSRemoteFileImpl.nfsRecvBufferBytes ← 2048
=> 2048
&8 ← SunNFSRemoteFileImpl.nfsRecvBufferBytes ← 1024
=> 1024
&9 ← CThonBasicTests.writeBufferBytes ← 8192
=> 8192
&10 ← CThonBasicTests.writeBufferBytes ← 1024
=> 1024
&11 ← CThonBasicTests.readBufferBytes ← 2048
=> 2048
&12 ← CThonBasicTests.readBufferBytes ← 1024
=> 1024
&13 ← SunNFSClientStub.mediumTimeout ← 1000
=> 1000
&14 ←
&14 ← &sldir ← "[]<>data>"
=> "[]<>data>"
&15 ← &tldir ← "[]<>temp>"
=> "[]<>temp>"
&16 ← &bf ← "bf" -- name of big file
=> "bf"
&17 ← &sf ← "sf" -- name of small file
=> "sf"
&18 ←
&18 ← &urdir ← CThonBasicTests.StripTrailingSlash[FileNames.ConvertToSlashFormat[&rdir]]
=> "/server/xerox3"
&19 ← &ursub1 ← Rope.Concat[&urdir, "/s1"]
=> "/server/xerox3/s1"
&20 ← &ursub2 ← Rope.Concat[&urdir, "/s2"]
=> "/server/xerox3/s2"
&21 ←
&21 ← SunNFSRemoteServerImpl.mustMountRoot ← FALSE
=> FALSE
&22 ← SunNFSRemoteServerImpl.ignoreBadExport ← TRUE
=> TRUE
&23 ←
&23 ← CThonBasicTests.ListExports[&server]
=> LIST["File System: /src", "Group: apple3", "Group: apple2", "Group: apple1", "File System: /"]
&24 ← CThonBasicTests.SetupDirectory[&server, &urdir, TRUE]
=> [dirAttr: [type: dir, mode: 777B (511), nlink: 37777777777B (4294967295), uid: 37777777777B (4294967295), gid: 37777777777B (4294967295), size: 37777777777B (4294967295), blocksize: 37777777777B (4294967295), rdev: 177777B (65535), blocks: 37777777777B (4294967295), fsid: 37777777777B (4294967295), fileid: 37777777777B (4294967295), atime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], mtime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], ctime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)]], fileAttr: [type: reg, mode: 100666B (33206), nlink: 1B (1), uid: 5705B (3013), gid: 0B (0), size: 0B (0), blocksize: 2000B (1024), rdev: 0B (0), blocks: 0B (0), fsid: 14000B (6144), fileid: 7660B (4016), atime: [seconds: 4172755717B (569105359), useconds: 0B (0)], mtime: [seconds: 4172755717B (569105359), useconds: 37777777777B (4294967295)], ctime: [seconds: 4172755717B (569105359), useconds: 37777777777B (4294967295)]], dFH: ^[length: 32, text: (32)[...]]]
&25 ← CThonBasicTests.attrStat
=> [status: ok, attributes: [type: dir, mode: 40777B (16895), nlink: 2B (2), uid: 5705B (3013), gid: 0B (0), size: 40B (32), blocksize: 2000B (1024), rdev: 137077B (48703), blocks: 1B (1), fsid: 14000B (6144), fileid: 7673B (4027), atime: [seconds: 4172755717B (569105359), useconds: 0B (0)], mtime: [seconds: 4172755717B (569105359), useconds: 22136000015B (2440560653)], ctime: [seconds: 4172755717B (569105359), useconds: 2056010400B (280498432)]]]
&26 ← CThonFSTests.StoreRepeatedlyAndVerify[&server, &rdir, &ldir, "*.*!h", 2]
=> LIST["<server>xerox3>cb.m!1", "<server>xerox3>cb.m!2", "<server>xerox3>cf.m!1", "<server>xerox3>cf.m!2", "<server>xerox3>h1.t!1", "<server>xerox3>h1.t!2", "<server>xerox3>h2.t!1", "<server>xerox3>h2.t!2", "<server>xerox3>h3.t!1", "<server>xerox3>h3.t!2", "<server>xerox3>rs.m!1", "<server>xerox3>rs.m!2"]
&27 ← CThonFSTests.DeleteFiles[&server, &rdir, "*!*"]

&28 ← CThonFSTests.EnumerateFiles[&server, &rdir, "*!*"]
=> NIL
&29 ← CThonFSTests.StoreFiles[&server, &rdir, &sldir, Rope.Concat[&bf, "!h"], TRUE]
=> LIST["<server>xerox3>bf!1"]
&30 ← CThonFSTests.RetrieveFile[&server, &rdir, &bf, &tldir, &bf]

&31 ← CThonFSTests.CompareLocalFiles[NIL, Rope.Concat[&tldir, &bf], Rope.Cat[&sldir, &bf, "!h"]]
=> [msg: NIL, index: 859136]
&32 ← CThonBasicTests.StatFS[&server, &urdir]
=> [tsize: 20000B (8192), bsize: 2000B (1024), blocks: 154450B (55592), bfree: 14343B (6371), bavail: 14343B (6371)]
&33 ←
&33 ← &lattr ← CThonBasicTests.TestSymLinks[&server, &urdir, "tsyml", Rope.Cat[&urdir, "/", &bf]]
=> [type: lnk, mode: 120666B (41398), nlink: 1B (1), uid: 5705B (3013), gid: 0B (0), size: 21B (17), blocksize: 2000B (1024), rdev: 140105B (49221), blocks: 1B (1), fsid: 14000B (6144), fileid: 10503B (4419), atime: [seconds: 4172756535B (569105757), useconds: 0B (0)], mtime: [seconds: 4172756536B (569105758), useconds: 16631271057B (1986359855)], ctime: [seconds: 4172756536B (569105758), useconds: 17014627542B (2016620386)]]
&34 ← BasicTime.Unpack[SunNFSRemoteFile.GMTFromSunTime[&lattr.atime]]
=> [year: 1988, month: January, day: 13, hour: 12, minute: 55, second: 57, zone: 480, dst: no, weekday: Wednesday, secondsThisYear: 1112157, daysThisYear: 12]
&35 ← BasicTime.Unpack[SunNFSRemoteFile.GMTFromSunTime[&lattr.mtime]]
=> [year: 1988, month: January, day: 13, hour: 12, minute: 55, second: 58, zone: 480, dst: no, weekday: Wednesday, secondsThisYear: 1112158, daysThisYear: 12]
&36 ← BasicTime.Unpack[SunNFSRemoteFile.GMTFromSunTime[&lattr.ctime]]
=> [year: 1988, month: January, day: 13, hour: 12, minute: 55, second: 58, zone: 480, dst: no, weekday: Wednesday, secondsThisYear: 1112158, daysThisYear: 12]
&37 ← CThonBasicTests.RemoveDirTree[&server, &urdir]

&38 ← &server ← "apple1-nfs"
=> "apple1-nfs"
&39 ← &rdir ← "<server>xerox3>"
=> "<server>xerox3>"
&40 ← &ldir ← "[]<>data4.3>"
=> "[]<>data4.3>"
&41 ← &ldir ← "[]<>dV>" -- for system V short file names
=> "[]<>dV>"
&42 ←
&42 ← SunNFSRemoteFileImpl.nfsSendBufferBytes ← 8192
=> 8192
&43 ← SunNFSRemoteFileImpl.nfsSendBufferBytes ← 1024
=> 1024
&44 ← SunNFSRemoteFileImpl.nfsRecvBufferBytes ← 2048
=> 2048
&45 ← SunNFSRemoteFileImpl.nfsRecvBufferBytes ← 1024
=> 1024
&46 ← CThonBasicTests.writeBufferBytes ← 8192
=> 8192
&47 ← CThonBasicTests.writeBufferBytes ← 1024
=> 1024
&48 ← CThonBasicTests.readBufferBytes ← 2048
=> 2048
&49 ← CThonBasicTests.readBufferBytes ← 1024
=> 1024
&50 ← SunNFSClientStub.mediumTimeout ← 1000
=> 1000
&51 ←
&51 ← &sldir ← "[]<>data>"
=> "[]<>data>"
&52 ← &tldir ← "[]<>temp>"
=> "[]<>temp>"
&53 ← &bf ← "bf" -- name of big file
=> "bf"
&54 ← &sf ← "sf" -- name of small file
=> "sf"
&55 ←
&55 ← &urdir ← CThonBasicTests.StripTrailingSlash[FileNames.ConvertToSlashFormat[&rdir]]
=> "/server/xerox3"
&56 ← &ursub1 ← Rope.Concat[&urdir, "/s1"]
=> "/server/xerox3/s1"
&57 ← &ursub2 ← Rope.Concat[&urdir, "/s2"]
=> "/server/xerox3/s2"
&58 ←
&58 ← SunNFSRemoteServerImpl.mustMountRoot ← FALSE
=> FALSE
&59 ← SunNFSRemoteServerImpl.ignoreBadExport ← TRUE
=> TRUE
&60 ←
&60 ← CThonBasicTests.ListExports[&server]
=> LIST["File System: /src", "Group: apple3", "Group: apple2", "Group: apple1", "File System: /"]
&61 ← -- Here is the non-FS version XXX
&61 ← CThonBasicTests.SetupDirectory[&server, &urdir, FALSE]
=> [dirAttr: [type: dir, mode: 777B (511), nlink: 37777777777B (4294967295), uid: 37777777777B (4294967295), gid: 37777777777B (4294967295), size: 37777777777B (4294967295), blocksize: 37777777777B (4294967295), rdev: 177777B (65535), blocks: 37777777777B (4294967295), fsid: 37777777777B (4294967295), fileid: 37777777777B (4294967295), atime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], mtime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], ctime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)]], fileAttr: [type: dir, mode: 777B (511), nlink: 37777777777B (4294967295), uid: 37777777777B (4294967295), gid: 37777777777B (4294967295), size: 37777777777B (4294967295), blocksize: 37777777777B (4294967295), rdev: 177777B (65535), blocks: 37777777777B (4294967295), fsid: 37777777777B (4294967295), fileid: 37777777777B (4294967295), atime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], mtime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)], ctime: [seconds: 37777777777B (4294967295), useconds: 37777777777B (4294967295)]], dFH: ^[length: 32, text: (32)[...]]]
&62 ← CThonBasicTests.attrStat
=> [status: ok, attributes: [type: dir, mode: 40777B (16895), nlink: 2B (2), uid: 5705B (3013), gid: 0B (0), size: 40B (32), blocksize: 2000B (1024), rdev: 137077B (48703), blocks: 1B (1), fsid: 14000B (6144), fileid: 7662B (4018), atime: [seconds: 4172756631B (569105817), useconds: 0B (0)], mtime: [seconds: 4172756631B (569105817), useconds: 37701000015B (4278452237)], ctime: [seconds: 4172756631B (569105817), useconds: 2056010400B (280498432)]]]
&63 ←
&63 ← CThonBasicTests.WriteFiles[&server, &urdir, Rope.Cat[&sldir, &sf], 'g]

&64 ← &temp ← CThonBasicTests.List[&server, &urdir]
=> LIST["a", "b", "c", "d", "e", "f", "g"]
&65 ←
&65 ← CThonBasicTests.RemoveFiles[&server, &urdir, &temp, TRUE]
=> LIST["c: no mtime change"]
&66 ← CThonBasicTests.List[&server, &urdir]
=> NIL
&67 ← CThonBasicTests.RemoveDirTree[&server, &urdir]

&68 ←