diff options
Diffstat (limited to '')
| -rw-r--r-- | src/tests/bigmyriad.cpp | 9 | ||||
| -rw-r--r-- | src/tests/myriad.cpp | 23 | ||||
| -rw-r--r-- | src/tests/myriadfs.cpp | 62 |
3 files changed, 90 insertions, 4 deletions
diff --git a/src/tests/bigmyriad.cpp b/src/tests/bigmyriad.cpp index 9d24741..73a3315 100644 --- a/src/tests/bigmyriad.cpp +++ b/src/tests/bigmyriad.cpp | |||
| @@ -5,14 +5,15 @@ | |||
| 5 | int main() | 5 | int main() |
| 6 | { | 6 | { |
| 7 | Bu::File f("big.myr", Bu::File::Read|Bu::File::Write|Bu::File::Create ); | 7 | Bu::File f("big.myr", Bu::File::Read|Bu::File::Write|Bu::File::Create ); |
| 8 | Bu::Myriad m( f, 256, 12 ); | 8 | Bu::Myriad m( f, 512, 12 ); |
| 9 | 9 | ||
| 10 | char *buf = new char[1024*1024*10]; | 10 | #define SSIZE (1024*8) // 1024*1024*10 |
| 11 | char *buf = new char[SSIZE]; | ||
| 11 | 12 | ||
| 12 | for( int j = 0; j < 25; j++ ) | 13 | for( int j = 0; j < 25; j++ ) |
| 13 | { | 14 | { |
| 14 | memset( buf, j, 1024*1024*10 ); | 15 | memset( buf, j, SSIZE ); |
| 15 | m.create( Bu::Myriad::Write ).write( buf, 1024*1024*10 ); | 16 | m.create( Bu::Myriad::Write ).write( buf, SSIZE ); |
| 16 | // m.sync(); | 17 | // m.sync(); |
| 17 | printf("\r%03d%%", (j+1)*100/25 ); | 18 | printf("\r%03d%%", (j+1)*100/25 ); |
| 18 | fflush( stdout ); | 19 | fflush( stdout ); |
diff --git a/src/tests/myriad.cpp b/src/tests/myriad.cpp new file mode 100644 index 0000000..ee4eac4 --- /dev/null +++ b/src/tests/myriad.cpp | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | #include <bu/myriad.h> | ||
| 2 | #include <bu/myriadstream.h> | ||
| 3 | #include <bu/string.h> | ||
| 4 | #include <bu/sio.h> | ||
| 5 | #include <bu/file.h> | ||
| 6 | |||
| 7 | int main( int , char *[] ) | ||
| 8 | { | ||
| 9 | Bu::File fMyriad("test.myr", Bu::File::WriteNew|Bu::File::Read ); | ||
| 10 | Bu::Myriad m( fMyriad, 32 ); | ||
| 11 | |||
| 12 | Bu::MyriadStream ms = m.create( Bu::Myriad::ReadWrite ); | ||
| 13 | ms.setSize( 150 ); | ||
| 14 | ms.setPos( 145 ); | ||
| 15 | char stuff[10]; | ||
| 16 | int32_t iRead = ms.read( stuff, 10 ); | ||
| 17 | |||
| 18 | Bu::println("Tried to read 10, expect 5, got %1").arg( iRead ); | ||
| 19 | |||
| 20 | |||
| 21 | return 0; | ||
| 22 | } | ||
| 23 | |||
diff --git a/src/tests/myriadfs.cpp b/src/tests/myriadfs.cpp new file mode 100644 index 0000000..29ac3d9 --- /dev/null +++ b/src/tests/myriadfs.cpp | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | #include "bu/file.h" | ||
| 2 | #include "bu/membuf.h" | ||
| 3 | #include "bu/myriadfs.h" | ||
| 4 | #include "bu/myriadstream.h" | ||
| 5 | #include "bu/sio.h" | ||
| 6 | |||
| 7 | using namespace Bu; | ||
| 8 | |||
| 9 | int main() | ||
| 10 | { | ||
| 11 | // Bu::MemBuf mb; | ||
| 12 | Bu::File mb("store.mfs", File::Read|File::Write|File::Create ); | ||
| 13 | Bu::MyriadFs mfs( mb, 512 ); | ||
| 14 | |||
| 15 | sio << "Creating dirs..." << sio.nl; | ||
| 16 | mfs.create("/etc", Bu::MyriadFs::typeDir|0755 ); | ||
| 17 | mfs.create("/dev", Bu::MyriadFs::typeDir|0755 ); | ||
| 18 | mfs.create("/usr", Bu::MyriadFs::typeDir|0755 ); | ||
| 19 | |||
| 20 | mfs.create("/dev/null", Bu::MyriadFs::typeChrDev|0666, 1, 3 ); | ||
| 21 | mfs.create("/dev/zero", Bu::MyriadFs::typeChrDev|0666, 1, 5 ); | ||
| 22 | mfs.create("/dev/sda", Bu::MyriadFs::typeBlkDev|0660, 8, 0 ); | ||
| 23 | |||
| 24 | sio << "Creating files..." << sio.nl; | ||
| 25 | { | ||
| 26 | Bu::MyriadStream ms = mfs.open("/hello", Bu::MyriadFs::Read ); | ||
| 27 | ms.write("world!"); | ||
| 28 | } | ||
| 29 | { | ||
| 30 | Bu::MyriadStream ms = mfs.open("/etc/hello", Bu::MyriadFs::Read ); | ||
| 31 | ms.write("world, again!"); | ||
| 32 | } | ||
| 33 | { | ||
| 34 | Bu::MyriadStream ms = mfs.open("/etc/trunc", Bu::MyriadFs::Write ); | ||
| 35 | ms.write("[longer text shouldn't be seen]"); | ||
| 36 | } | ||
| 37 | { | ||
| 38 | Bu::MyriadStream ms = mfs.open("/etc/trunc", Bu::MyriadFs::Write|Bu::MyriadFs::Create|Bu::MyriadFs::Truncate ); | ||
| 39 | ms.write("[short text]"); | ||
| 40 | } | ||
| 41 | |||
| 42 | sio << "Reading files..." << sio.nl; | ||
| 43 | { | ||
| 44 | Bu::MyriadStream ms = mfs.open("/hello", Bu::MyriadFs::Read ); | ||
| 45 | char buf[512]; | ||
| 46 | buf[ms.read( buf, 512 )] = '\0'; | ||
| 47 | sio << "read: '" << buf << "'" << sio.nl; | ||
| 48 | } | ||
| 49 | { | ||
| 50 | Bu::MyriadStream ms = mfs.open("/etc/hello", Bu::MyriadFs::Read ); | ||
| 51 | char buf[512]; | ||
| 52 | buf[ms.read( buf, 512 )] = '\0'; | ||
| 53 | sio << "read: '" << buf << "'" << sio.nl; | ||
| 54 | } | ||
| 55 | { | ||
| 56 | Bu::MyriadStream ms = mfs.open("/etc/trunc", Bu::MyriadFs::Read ); | ||
| 57 | char buf[512]; | ||
| 58 | buf[ms.read( buf, 512 )] = '\0'; | ||
| 59 | sio << "read: '" << buf << "'" << sio.nl; | ||
| 60 | } | ||
| 61 | } | ||
| 62 | |||
