Commit Graph

390 Commits

Author SHA1 Message Date
Sebastian Messmer
0042ae1cef - Run test cases for EncryptedBlockStore with different ciphers
- Implement FakeAuthenticatedCipher for use with specific EncryptedBlockStoreTest
- Write skeleton for specific EncryptedBlockStoreTest
- Fix behavior of AES256_CFB when called with too small input
- Add testcase that all ciphers (also non-authenticating ones) have to handle too small input correctly
2015-05-06 00:12:14 +02:00
Sebastian Messmer
fd09ff1f9e Remove includes to unused exception 2015-04-29 16:33:26 +02:00
Sebastian Messmer
cb402fd14b Added test cases for Cache 2015-04-28 11:56:07 +02:00
Sebastian Messmer
d589910b0d TODOs 2015-04-27 23:10:30 +02:00
Sebastian Messmer
c47434d3b3 Separated QueueMapTest.cpp into test groups with their own files each 2015-04-27 23:09:29 +02:00
Sebastian Messmer
1ff807e09c Make Cache a generic over Key/Value. Furthermore, add test skeleton for Cache 2015-04-27 22:46:57 +02:00
Sebastian Messmer
f286886b49 Handle QueueMap::push(existing_key) better and write more test cases for QueueMap 2015-04-27 22:11:15 +02:00
Sebastian Messmer
fa4e23ceb4 Fix loading encryption keys from config file 2015-04-27 18:00:11 +02:00
Sebastian Messmer
bf77e0ffa7 Small fix in AES256_GCM 2015-04-27 17:58:34 +02:00
Sebastian Messmer
8f7853f01a Add basic test case for cryfs 2015-04-27 16:38:09 +02:00
Sebastian Messmer
6f1c39fd21 QueueMap: Added more test cases and improved interface 2015-04-27 10:35:01 +02:00
Sebastian Messmer
f647342228 TODOs 2015-04-27 01:36:32 +02:00
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