Sebastian Messmer
a945e4f0fc
Changed Blockstore::tryCreate() to return optional<unique_ref<Block>> instead of unique_ptr<Block>
2015-07-20 18:57:48 +02:00
Sebastian Messmer
337d2c055b
Implemented Console class to interact with the user
2015-07-01 14:32:26 +02:00
Sebastian Messmer
6442512877
Allow dereferencing rvalues in unique_ref
2015-06-28 17:34:23 +02:00
Sebastian Messmer
72cb9fa038
When calling left()/right()/left_opt()/right_opt() on a rvalue reference, it performs a move and returns a rvalue reference
2015-06-28 17:25:13 +02:00
Sebastian Messmer
c5822b97f4
Use optional::value() instead of optional::get()
2015-06-28 17:05:06 +02:00
Sebastian Messmer
b47fd3f671
Use optional::value() instead of optional::get()
2015-06-28 17:02:20 +02:00
Sebastian Messmer
5ea654445c
Use optional::value() instead of optional::get() in test cases
2015-06-28 16:59:13 +02:00
Sebastian Messmer
7ae30280f3
Use optional::value() instead of options::get() in test cases
2015-06-28 16:49:35 +02:00
Sebastian Messmer
de5dd8a838
Use optional::value() instead of options::get() in test cases
2015-06-28 16:45:18 +02:00
Sebastian Messmer
5a812b279f
Use optional::value() instead of options::get() in test cases
2015-06-28 16:44:55 +02:00
Sebastian Messmer
3d1341114b
Use unique_ref instead of unique_ptr
2015-06-26 15:59:18 +02:00
Sebastian Messmer
3826bab481
Fix test cases
2015-06-26 15:57:41 +02:00
Sebastian Messmer
ab5238549d
Introduced make_left, make_right
2015-06-26 12:41:25 +02:00
Sebastian Messmer
f3222e361b
Added operator<<(ostream, Either)
2015-06-26 02:17:08 +02:00
Sebastian Messmer
a98cf8200e
Improve move testcases for Either
2015-06-26 02:06:33 +02:00
Sebastian Messmer
99be93d970
Add tests for direct (move) assignments
2015-06-26 02:02:29 +02:00
Sebastian Messmer
396dbcfc1c
Add assignment operators
2015-06-26 01:59:29 +02:00
Sebastian Messmer
d5dadc74e7
Offer Either::left_opt() and Either::right_opt() and add some test cases
2015-06-26 01:07:46 +02:00
Sebastian Messmer
e1c4327338
Added comparison operators to Either
2015-06-25 16:27:26 +02:00
Sebastian Messmer
2d7dc8c583
Added first version for an either type
2015-06-25 15:46:53 +02:00
Sebastian Messmer
adbcb054c6
Add dynamic_pointer_move test cases for unique_ref
2015-06-21 18:18:43 +02:00
Sebastian Messmer
a1e0358d4c
Adapt to new cpp-utils
2015-06-21 17:44:45 +02:00
Sebastian Messmer
2fa7d656e7
Adapt to new cpp-utils
2015-06-21 17:44:30 +02:00
Sebastian Messmer
7fae2d1e59
Adapt to new cpp-utils
2015-06-21 17:43:45 +02:00
Sebastian Messmer
e346283b0b
Refactor folder structure
2015-06-21 17:41:57 +02:00
Sebastian Messmer
f30bec26ee
Added some more test cases for dynamic_pointer_move
2015-06-21 17:14:35 +02:00
Sebastian Messmer
cf6ef7c02c
Use C++11 uniform initialization for structs
2015-06-21 14:40:57 +02:00
Sebastian Messmer
d1528fe541
Use C++11 uniform initialization for structs
2015-06-21 14:40:52 +02:00
Sebastian Meßmer
2f22cbc9a8
Adapt to new fspp interface using unique_ref instead of unique_ptr
2015-06-18 19:36:05 +02:00
Sebastian Meßmer
31cd0eb9e9
Adapt to new dynamic_pointer_move
2015-06-18 19:34:24 +02:00
Sebastian Meßmer
536cba1459
Use unique_ref instead of unique_ptr wherever possible
2015-06-18 19:30:52 +02:00
Sebastian Meßmer
e883bc5747
More use of unique_ref instead of unique_ptr
2015-06-18 13:45:08 +02:00
Sebastian Meßmer
5039205cd2
BlobStore handles unique_ref<Blob> instead of unique_ptr<Blob>
2015-06-18 12:45:37 +02:00
Sebastian Meßmer
590beac11c
Added dynamic_pointer_move for unique_ref
2015-06-18 02:36:57 +02:00
Sebastian Meßmer
86a8683fa7
Finish implementing unique_ref and added many more test cases
2015-06-18 01:29:02 +02:00
Sebastian Meßmer
09f89327da
Fix test cases
2015-06-17 12:28:18 +02:00
Sebastian Meßmer
199da740ed
Fix test cases
2015-06-17 12:17:17 +02:00
Sebastian Messmer
3d5b9e9815
Implemented unique_ref and started writing test cases
2015-06-17 00:59:02 +02:00
Sebastian Messmer
3069874066
Fix test cases
2015-06-17 00:38:02 +02:00
Sebastian Messmer
e8a48afd3b
Enable extended compiler warnings and resolve occurring ones
2015-05-08 02:10:56 +02:00
Sebastian Messmer
abf0f68432
Enable extended compiler warnings and resolve occurring ones
2015-05-08 02:10:40 +02:00
Sebastian Messmer
fdcd56401a
Added specific test cases for EncryptedBlockStore
2015-05-06 00:37:57 +02:00
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