Commit Graph

728 Commits

Author SHA1 Message Date
Sebastian Messmer e177c6f45c Switch to a QueueMap implementation with less indirections (directly store elements instead of pointers) 2015-04-27 01:22:39 +02:00
Sebastian Messmer 09bc28e810 EncryptedBlock stores its block key in the block, so that an attacker can't replace block contents with a different block 2015-04-26 16:36:48 +02:00
Sebastian Messmer 1f14598d25 Added Test Cases for PeriodicTask 2015-04-26 12:36:19 +02:00
Sebastian Messmer 864f0a0186 Added more test cases for Data 2015-04-26 00:41:29 +02:00
Sebastian Messmer 61337eef85 Removed DataBlockFixture 2015-04-25 17:45:18 +02:00
Sebastian Messmer 7d6febe17f Reduce use of memcmp and use operator==(Data, Data) instead 2015-04-25 17:17:15 +02:00
Sebastian Messmer 77b67a8137 Reduce use of memcmp and use operator==(Data, Data) instead 2015-04-25 17:17:06 +02:00
Sebastian Messmer a07c03d752 Added test cases for DataFixture 2015-04-25 17:03:18 +02:00
Sebastian Messmer b4e2eaa3e8 Use cpputils::DataFixture instead of DataBlockFixture 2015-04-25 16:44:00 +02:00
Sebastian Messmer a2c89ed73a Use cpputils::DataFixture instead of DataBlockFixture 2015-04-25 16:43:52 +02:00
Sebastian Messmer 65eb73e7d9 Use cpputils::DataFixture instead of DataBlockFixture 2015-04-25 16:43:37 +02:00
Sebastian Messmer 0b60370665 Remove dependency to tempfile 2015-04-25 03:47:30 +02:00
Sebastian Messmer 3e12c771a1 Remove dependency to tempfile 2015-04-25 03:47:03 +02:00
Sebastian Messmer 74e9ffb9f4 Use cpputils::TempFile and cpputils::Data instead of blockstore::TempFile and blockstore::Data 2015-04-25 03:37:25 +02:00
Sebastian Messmer 9de2d9d04a - Use cpputils::DataBlockFixture and cpputils::Data.
- Fix test cases
2015-04-25 03:26:59 +02:00
Sebastian Messmer 6a0623956d Use Data, DataBlockFixture from cpputils 2015-04-25 02:55:34 +02:00
Sebastian Messmer 59bfddc18f Moved Data, FixedSizeData and DataBlockFixture to cpp-utils 2015-04-25 02:48:41 +02:00
Sebastian Messmer 38327de0c8 Move tempfile to cpp-utils 2015-04-25 02:40:02 +02:00
Sebastian Messmer d8a6b23962 Moved data classes to cpp-utils 2015-04-25 02:24:18 +02:00
Sebastian Messmer 3d9e98d892 Fix compiler errors in tests 2015-04-25 00:08:29 +02:00
Sebastian Messmer e056a65b48 - Added test cases for authenticated ciphers
- Fixed corner case for AES256_GCM when decrypt is called on data that can't hold IV and TAG
2015-04-24 23:58:24 +02:00
Sebastian Messmer 0335b243fb Implemented AES256_GCM 2015-04-24 23:02:14 +02:00
Sebastian Messmer 19e5f03de3 Simplified CipherTest 2015-04-24 21:33:25 +02:00
Sebastian Messmer 008c6f7ab7 Add Cipher concept 2015-04-24 21:30:54 +02:00
Sebastian Messmer 5adcf4aca1 Allow decryption interface to fail (needed for authenticated ciphers later) 2015-04-24 21:08:36 +02:00
Sebastian Messmer 79283b868b Added test cases that a Cipher is indeterministic 2015-04-24 19:13:56 +02:00
Sebastian Messmer f18195757c - Added test cases for ciphers
- Removed Cipher.h
2015-04-24 18:58:42 +02:00
Sebastian Messmer 6e50c9d8a5 Factor out encryption algorithm from EncryptedBlockStore 2015-04-24 18:14:25 +02:00
Sebastian Meßmer 17f6a38629 Removed unneccessary flushes 2015-04-18 17:06:55 +02:00
Sebastian Meßmer 417a701636 - BlockStore::create() gets the data of the new block as a parameter
- Fixed numBlocks() in OnDiskBlockStore, FakeBlockStore, CachingBlockStore, ...
- CachingBlockStore caches created blocks and doesn't directly create them in the underlying blockstore
2015-04-18 14:47:12 +02:00
Sebastian Messmer 18e7d68f15 Added test cases checking that numBlocks() works correctly when a created block is not destructed yet 2015-04-17 13:27:17 +02:00
Sebastian Messmer d15a355464 Renamed to ParallelAccessStore 2015-04-16 14:52:06 +02:00
Sebastian Messmer 9fa6b041eb Renamed old Caching2BlockStore to new CachingBlockStore 2015-04-16 14:10:44 +02:00
Sebastian Messmer 248fd0f5cc Renamed old CachingBlockStore to ParallelAccessBlockStore 2015-04-16 13:59:52 +02:00
Sebastian Messmer 72f952b57c Added dummy implementation for new caching block store 2015-04-15 15:46:35 +02:00
Sebastian Messmer cc30dcde10 Fix FakeBlockStore 2015-04-15 14:51:41 +02:00
Sebastian Messmer bee68464dc When traversing a blob out of range, automatically create the leaves up to the traversed point 2015-04-10 21:52:30 +02:00
Sebastian Messmer bb98e9b31d Fix test cases for new flushing policy 2015-04-10 00:10:49 +02:00
Sebastian Messmer 711283a89b EncryptedBlockStore handles encryption keys 2015-04-09 20:14:12 +02:00
Sebastian Messmer 990ca6ca26 Generalized Key to FixedSizeData 2015-04-09 20:07:03 +02:00
Sebastian Messmer 86f8ca6dc4 Dummy implementation for EncryptedBlockStore 2015-04-09 19:22:09 +02:00
Sebastian Meßmer 9de711b881 Refactoring 2015-04-02 12:18:44 -04:00
Sebastian Meßmer 5578af3948 Initial version 2015-04-02 11:39:44 -04:00
Sebastian Meßmer da0efd80c5 Rename SynchronizedBlockStore -> CachingBlockStore 2015-04-02 02:59:43 -04:00
Sebastian Meßmer 5571a42980 Continued working on SynchronizedBlockStore. remove() doesn't work yet. 2015-03-28 13:44:22 -04:00
Sebastian Meßmer f6669c86c1 Added SynchronizedBlockStore. In this first version, it only synchronizes the direct blockstore functions, but still allows opening the same block twice. This will be forbidden in future commits 2015-03-19 11:16:20 +01:00
Sebastian Messmer a7a87a07dd Add style warnings 2015-03-16 18:32:37 +01:00
Sebastian Meßmer c47095474c Use new FsTest 2015-03-16 02:57:01 +01:00
Sebastian Meßmer 662c3f8e90 Use the fspp test cases for cryfs 2015-03-16 02:15:51 +01:00
Sebastian Meßmer 6d61b896af Remove test that is dependent on gcc optimization level 2015-03-15 09:26:50 +01:00
Sebastian Messmer deba4810a8 Replaced absolute paths to messmer/blobstore with local relative paths 2015-03-12 15:18:10 +01:00
Sebastian Messmer 294530c662 Replaced absolute paths to messmer/blockstore/... with relative local paths 2015-03-12 14:27:51 +01:00
Sebastian Messmer 141b7e08b7 Fix OpenFile::read() return type 2015-03-11 01:05:16 +01:00
Sebastian Messmer 9741fb3f5c - ReadDir also returns whether the entry is a file or a directory
- OpenFileList has a simpler interface
2015-03-11 00:22:36 +01:00
Sebastian Messmer 498623ddab Merge branch 'master' into develop 2015-03-10 21:51:21 +01:00
Sebastian Messmer 40c690d03b Dir::children() returns not only the entry name, but also whether it is a file or a directory entry 2015-03-10 21:51:12 +01:00
Sebastian Messmer b13b9d8689 Added test cases for BlockStore::write() 2015-03-08 02:15:31 +01:00
Sebastian Messmer ffd9ada260 Test BlockStoreUtils fillWithZeroes() 2015-03-08 00:36:59 +01:00
Sebastian Messmer 40cbf93957 Deleted unneccessary test cases and added test cases for BlobReadWriteTest 2015-03-06 21:18:22 +01:00
Sebastian Messmer 2bfc872088 Fix Blob::read()/write() and write test cases for it 2015-03-06 20:40:23 +01:00
Sebastian Messmer c293dc0571 Added test cases 2015-03-06 16:54:49 +01:00
Sebastian Messmer d8b7a99ea8 Fix compiler warning 2015-03-06 16:43:16 +01:00
Sebastian Messmer df9a44eace Added some more test cases to BlobStore 2015-03-06 16:39:40 +01:00
Sebastian Messmer a9c44a40ed Fix Blob::write() and add some test cases for it 2015-03-06 16:08:30 +01:00
Sebastian Messmer 4658de552f TODOs 2015-03-06 02:34:18 +01:00
Sebastian Messmer 19b9551a00 Added test cases loading nonexisting blobs 2015-03-06 02:32:43 +01:00
Sebastian Messmer 044f6c9f8a TODOs 2015-03-06 02:28:41 +01:00
Sebastian Messmer 75d1ef11fe Fixed loading nonexisting blobs and wrote more test cases 2015-03-06 02:21:31 +01:00
Sebastian Messmer 471ce89421 Removed duplicate test case 2015-03-05 22:40:29 +01:00
Sebastian Messmer f834f8892d Added test cases for resizing blobs 2015-03-05 22:34:51 +01:00
Sebastian Messmer 8b7a76c38a Added first test for BlobStoreOnBlocks 2015-03-05 22:23:30 +01:00
Sebastian Messmer e64ab10059 Fix DataNodeView: Only allow read access to data region 2015-03-05 22:22:22 +01:00
Sebastian Messmer 31417f8e05 Add test cases for writing into leaves 2015-03-04 21:56:48 +01:00
Sebastian Messmer 3a01f95467 Adapt to new blockstore which has Block::write() instead of writeable Block::data() pointer 2015-03-04 20:58:39 +01:00
Sebastian Messmer d42bda0ca6 Added Block::write() and removed writeable data() pointer 2015-03-04 20:47:02 +01:00
Sebastian Messmer 5fb235a40c Removed DataTree::addDataLeaf() / DataTree::removeLastDataLeaf() and DataTree::flush() 2015-03-04 03:17:59 +01:00
Sebastian Messmer 02ae3615fd DataBlockFixture create data that is independent from its size 2015-03-04 02:59:46 +01:00
Sebastian Messmer 09b648317f DataBlockFixture create data that is independent from its size 2015-03-04 02:58:52 +01:00
Sebastian Messmer c0e5b5db8c Added more test cases for resizing blobs 2015-03-04 02:56:17 +01:00
Sebastian Messmer 3b06dec1f2 DataBlockFixture creates data that is independent from its size 2015-03-04 02:34:54 +01:00
Sebastian Messmer 0e91d06a6f Add test cases for DataTree::resizeNumBytes() 2015-03-04 02:05:03 +01:00
Sebastian Messmer 68182e523f Added test cases for DataNode::key() and DataTree::key() 2015-02-27 14:32:28 +01:00
Sebastian Messmer a44b6318e2 - Refactor math functions for reuse (and write test cases for them)
- Implemented BlobOnBlocks::read() and write(). Not tested yet.
2015-02-26 20:19:12 +01:00
Sebastian Messmer 1e2cb46c0b Refactor test folder structure 2015-02-26 17:05:05 +01:00
Sebastian Messmer 87db6dfab8 Fix DataTree::numStoredBytes() and write test cases for it 2015-02-26 17:04:02 +01:00
Sebastian Messmer 0f3314b31c Added some test cases for traversing a four level tree 2015-02-25 22:38:49 +01:00
Sebastian Messmer c9ce0d55cf Make block size configureable in DataNodeStore -> this greatly speeds up our test cases, because they can use smaller blocks, which means less children per inner node 2015-02-25 22:30:48 +01:00
Sebastian Messmer 100268930e Add some test cases traversing a DataTree 2015-02-25 16:52:52 +01:00
Sebastian Messmer 02bceecb29 Refactoring test cases 2015-02-25 14:42:20 +01:00
Sebastian Messmer 97cf6a6e40 Written data tree leaf traversal and some test cases 2015-02-25 01:31:16 +01:00
Sebastian Messmer a71f26d0d4 Added another DataTreeStoreTest 2015-02-24 22:51:56 +01:00
Sebastian Messmer 81ab18f595 Speedup test case 2015-02-24 22:46:44 +01:00
Sebastian Messmer 7f55285ecd Implement removing trees and write some test cases for DataTreeStore 2015-02-24 22:44:10 +01:00
Sebastian Messmer 19e14146f4 Be more explicit in test case 2015-02-24 17:37:39 +01:00
Sebastian Messmer db32c37b87 Added testcase for DataNodeStore::remove() 2015-02-24 16:54:44 +01:00
Sebastian Messmer b9e3a9b109 Added test cases for DataNodeStore::numNodes() 2015-02-24 16:52:11 +01:00
Sebastian Messmer 96208200f9 Improve depth test cases (also check that the level below depth 1 nodes is leaves) 2015-02-24 16:46:05 +01:00
Sebastian Messmer 67dbb96774 Add tests that the depth flags stay intact on shrinking 2015-02-24 16:42:13 +01:00
Sebastian Messmer 1006c2cc38 Test cases for BlockStore::numBlocks() 2015-02-24 14:42:26 +01:00
Sebastian Messmer f491d3d183 Added BlockStore::numBlocks() 2015-02-23 21:07:07 +01:00
Sebastian Messmer 6127a9d6a8 Added test cases shrinking down full trees to one-leaf trees 2015-02-23 21:06:45 +01:00
Sebastian Messmer 0d26692048 TODOs 2015-02-23 20:25:37 +01:00
Sebastian Messmer 6d923c5ef5 Refactor DataTreeGrowingTest_DataStaysIntact 2015-02-23 20:25:13 +01:00
Sebastian Messmer f7e710f305 Added tests ensuring that the data stays intact on shrinking 2015-02-23 19:54:59 +01:00
Sebastian Messmer 6c9d4cca39 Refactor growing test cases 2015-02-23 17:51:11 +01:00
Sebastian Messmer 388c755f63 Refactor GetLowestRightBorderNode... algorithm test cases 2015-02-23 17:45:10 +01:00
Sebastian Messmer 7fea8017c8 Refactor shrinking test cases 2015-02-23 17:30:44 +01:00
Sebastian Messmer fee8cd42eb Refactoring test cases 2015-02-23 17:03:45 +01:00
Sebastian Messmer c81e058717 TODOs 2015-02-23 16:21:41 +01:00
Sebastian Messmer 05b4ccae05 Added some test cases for shrinking trees 2015-02-23 16:21:02 +01:00
Sebastian Messmer ab2e789dac Implement tree shrinking and some test cases for it 2015-02-22 19:30:42 +01:00
Sebastian Messmer aeec8b1490 Add utility function to copy blocks 2015-02-22 19:29:30 +01:00
Sebastian Messmer e65ce5f11f Change way of deleting blocks to be more foolproof (when deleting a block, the user is forced to give up its reference to the block) 2015-02-22 16:53:49 +01:00
Sebastian Messmer 37e8a511f5 Added BlockStore::remove(key) 2015-02-22 00:29:21 +01:00
Sebastian Messmer 46a0bf617b Added test cases for GetLowestRightBorderNodeWithMoreThanOneChildOrNull 2015-02-21 23:25:57 +01:00
Sebastian Messmer f5c48db10b - Refactor GetLowestRightBorderNodeWithLessThanKChildrenOrNull into algorithm.h
- Started shrinking leaves
2015-02-21 01:59:25 +01:00
Sebastian Messmer 959b5dcb3b Added test case growing a larger tree step by step 2015-02-20 20:16:44 +01:00
Sebastian Messmer 5133e3d8a0 Add test cases checking that growing a tree sets correct depth flags 2015-02-20 20:01:47 +01:00
Sebastian Messmer 0607dcb282 Refactor initialization of DataLeafNode/DataInnerNode 2015-02-20 19:46:52 +01:00
Sebastian Messmer 8b792e691c Refactor test cases 2015-02-20 18:31:18 +01:00
Sebastian Messmer d63d66c97b Added some test cases for growing a tree 2015-02-20 17:33:33 +01:00
Sebastian Messmer 8843cef9ca Added some test cases ensuring the data of leaves stays intact when growing a tree 2015-02-20 14:27:11 +01:00
Sebastian Messmer 727b5f5e9c Added Travis CI 2015-02-20 02:01:03 +01:00
Sebastian Messmer 2ac970a833 Switch to biicode 2015-02-17 00:48:49 +01:00
Sebastian Messmer 3350e9368a Switch to biicode 2015-02-17 00:40:34 +01:00
Sebastian Messmer 0c851fa452 Switch to biicode 2015-02-17 00:23:33 +01:00
Sebastian Messmer 687a7c9500 Fix test cases 2015-02-16 21:36:00 +01:00
Sebastian Messmer a01a6f64d1 Add macros.h, pointer.h and optional_ownership_pointer.h 2015-02-16 21:31:57 +01:00