Commit Graph

221 Commits

Author SHA1 Message Date
Matthias Beyer 54ba22d0ef Add EntryHeader::set_with_sep() 2016-02-12 21:56:48 +01:00
Matthias Beyer bca0143343 Add EntryHeader::read_with_sep() which allows seperator modification 2016-02-12 21:55:06 +01:00
Matthias Beyer a4fa1bac07 Add split-char setting 2016-02-12 21:50:44 +01:00
Matthias Beyer 6397068ddc Add test for EntryHeader::delete() 2016-02-12 20:02:57 +01:00
Matthias Beyer cb87f31a23 Add EntryHeader::delete() 2016-02-12 20:02:56 +01:00
Matthias Beyer 30e8afeced Add tests for inserting values 2016-02-12 20:02:56 +01:00
Matthias Beyer 965c3445a1 Add test for setting value at new path 2016-02-12 20:02:56 +01:00
Matthias Beyer dd53e467d7 Add EntryHeader::set() test 2016-02-12 20:02:56 +01:00
Matthias Beyer b4362f5c65 Alter: EntryHeader should contain a Value, not the BTreeMap<> 2016-02-12 20:02:56 +01:00
Matthias Beyer 74a9b844ca Add debugging output in tests 2016-02-12 20:02:41 +01:00
Matthias Beyer 60ccf58f84 Merge pull request #148 from neithernut/impl-store-retrieve_copy
Implement Store::retrieve_copy()
2016-02-12 18:59:56 +01:00
Matthias Beyer 103a0dea17 Add test: EntryHeader::read() 2016-02-11 15:45:48 +01:00
Matthias Beyer 731a446546 Implement EntryHeader::read() 2016-02-11 15:45:47 +01:00
Matthias Beyer 548aee8d5f Implement EntryHeader::set() 2016-02-11 15:45:47 +01:00
Matthias Beyer 4d94f8a67f Implement: EntryHeader::insert() 2016-02-11 15:45:47 +01:00
Matthias Beyer 3b09e0c214 Move helper functions outside of walk_header(), so we can use them 2016-02-11 15:45:47 +01:00
Matthias Beyer 42aade5cef Add tests for path-to-value extractor functionality 2016-02-11 15:43:58 +01:00
Matthias Beyer 4759076249 Implement walk_header() 2016-02-11 15:43:58 +01:00
Matthias Beyer a2e3598c01 Add more error types for header walking 2016-02-11 15:43:58 +01:00
Matthias Beyer 0727fca797 Add tokenizer helper function 2016-02-11 15:43:58 +01:00
Matthias Beyer 2f6cfb5868 Add interface for header field addressing by str 2016-02-11 15:43:58 +01:00
Matthias Beyer 00ccc22ef5 Add some debugging output for {create,retrieve,delete} 2016-02-09 20:09:12 +01:00
Matthias Beyer d85f985694 Fixup path-includes-path checker 2016-02-09 20:08:58 +01:00
Matthias Beyer ddd54e03ad Add store path getter 2016-02-09 13:45:13 +01:00
Matthias Beyer a0afc9245b Merge pull request #186 from TheNeikos/verify-toml_table
Verify that nothing but tables exist in base table
2016-02-07 01:54:35 +01:00
Matthias Beyer ebb076c9fd Merge pull request #184 from matthiasbeyer/libimagstore/fix-179
Check whether the StoreId is inside the store
2016-02-07 01:45:48 +01:00
Marcel Müller e315fa9dcf
Remove unwrap in drop and warn users 2016-02-07 01:28:16 +01:00
Marcel Müller 9ba2439da3
Add debug output 2016-02-07 01:28:15 +01:00
Marcel Müller 6173cff762
Verify that nothing but tables exist in base table 2016-02-07 01:27:50 +01:00
Marcel Müller 293fd0da00
Add verify 2016-02-06 18:57:39 +01:00
Marcel Müller e079628397
Remove unneeded closure 2016-02-06 18:52:17 +01:00
Matthias Beyer 373502217e Check whether the StoreId is inside the store, before doing anything on the FS 2016-02-06 18:48:59 +01:00
Matthias Beyer eb0d1dba69 Merge pull request #176 from matthiasbeyer/update-crate-version
libimagstore: Update dep: version: 1.1.0 -> 2.0.1
2016-02-05 22:04:27 +01:00
Matthias Beyer ddd61f9c1f libimagstore: Update dep: version: 1.1.0 -> 2.0.1 2016-02-05 21:53:26 +01:00
Matthias Beyer 959a68f1a6 Merge pull request #153 from matthiasbeyer/libimagstore/add-debugging-output
Libimagstore/add debugging output
2016-02-05 16:03:23 +01:00
Matthias Beyer 0931ede580 Merge pull request #165 from matthiasbeyer/remove-unused-imports
Remove unused imports
2016-01-30 13:47:57 +01:00
Matthias Beyer 213cb32a88 Fix: Add EntryHeader::toml_mut() 2016-01-30 12:38:36 +01:00
Matthias Beyer f6e03c804e store/store: Remove unused imports 2016-01-29 23:06:15 +01:00
Matthias Beyer 814e85508b store/error: Remove unused imports 2016-01-29 23:06:04 +01:00
Matthias Beyer 33b6a89a02 Merge pull request #156 from matthiasbeyer/libimagstore/fix-private-intostoreid
Fix: Make IntoStoreId public
2016-01-29 19:11:03 +01:00
Matthias Beyer 618d39cf7c Merge pull request #155 from matthiasbeyer/libimagstore/fix-missing-doc
Fix: Add missing documentation for mod module_path
2016-01-29 19:10:56 +01:00
Matthias Beyer fbb296495b Merge pull request #154 from matthiasbeyer/libimagstore/fix-152
Fix: negation error
2016-01-29 19:10:51 +01:00
Matthias Beyer 72cf550c9f Fix: seek() file back on reading it 2016-01-29 18:17:41 +01:00
Matthias Beyer 69bebfcfc0 Fix: Make IntoStoreId public 2016-01-29 17:03:24 +01:00
Matthias Beyer c64cdad63b Fix: Add missing documentation for mod module_path 2016-01-29 17:03:05 +01:00
Matthias Beyer 38791ea2f9 Fix: negation error
Suggested-by: Marcel Müller <neikos@neikos.email>
2016-01-29 16:53:13 +01:00
Matthias Beyer 3b51328aa7 Merge pull request #145 from neithernut/fix-store-retrieve
Fix Store::retrieve()
2016-01-29 16:29:38 +01:00
Matthias Beyer b04c676eb9 Add store debugging output 2016-01-28 21:06:49 +01:00
Matthias Beyer 4bc905c692 Add debug output for LazyFile::{get_file_mut,create_file}() 2016-01-28 21:00:33 +01:00
Matthias Beyer 2c398d941b Let LazyFile derive Debug 2016-01-28 21:00:13 +01:00
Matthias Beyer 88f6086c97 Add dep: log = 0.3.5 2016-01-28 20:59:43 +01:00
Julian Ganz c6ec47a8af Change status _after_ calling StoreEntry::get_entry()
StoreEntry::get_entry() will return an error if the store entry's status
is "borrowed".
2016-01-28 20:47:34 +01:00
Julian Ganz 355ec697c1 Implement Store::retrieve_copy() 2016-01-25 22:26:00 +01:00
Julian Ganz 1085127036 Add missing error handling
We don't want to panick if a lock inside the store is broken. We want to
notify the user, so she can start panicking.
2016-01-25 20:38:45 +01:00
Matthias Beyer 6c53f172dc Minify implementation of Store::retrieve() 2016-01-25 15:32:50 +01:00
Julian Ganz 540348380e Mark store entry as borrowed 2016-01-25 12:34:37 +01:00
Julian Ganz 86ab4ba4b1 Slimline translation from entry to file lock entry 2016-01-25 12:32:30 +01:00
Julian Ganz 9760f72e79 get_entry() already asserts the entry is not borrowed 2016-01-25 12:31:22 +01:00
Julian Ganz acfbb16eb2 Fix Store::retrieve()
The previous version of `Store::retrieve()` required the entry to be
already registered in the store's hashmap.
2016-01-24 22:57:11 +01:00
Matthias Beyer 4a08eed700 Merge pull request #144 from matthiasbeyer/libimagstore/add-missing-pub
Fix: Add missing "pub" on Entry functions
2016-01-24 20:29:11 +01:00
Matthias Beyer 82873d82ba Merge pull request #143 from TheNeikos/add-store_update
Implement storenetry:write_entry
2016-01-24 20:25:57 +01:00
Matthias Beyer d24f661778 Fix: Add missing "pub" on Entry functions 2016-01-24 20:20:43 +01:00
Marcel Müller 4e990465c8
Implement storeentry:write_entry 2016-01-24 20:05:33 +01:00
Matthias Beyer bbd08d9526 Add Store::retrieve_for_module() 2016-01-24 17:40:06 +01:00
Matthias Beyer 36770abac5 Add iterator type for StoreId 2016-01-24 17:39:41 +01:00
Matthias Beyer e951666e3d Use glob 2016-01-24 17:39:41 +01:00
Matthias Beyer 1d69aa5066 Add dep: glob = 0.2.10 2016-01-24 17:39:41 +01:00
Marcel Müller ee8cf35fcc
Implement store::create 2016-01-24 17:34:29 +01:00
Marcel Müller c7f584a81a
Add from_str to Entry 2016-01-24 17:04:33 +01:00
Marcel Müller fdc3dde95b
Change names to reflect changes 2016-01-24 17:04:33 +01:00
Marcel Müller 15931d3471
Remove EntryHeader::new_current 2016-01-24 17:04:33 +01:00
Marcel Müller a64ffdfc56
Implement entry reading 2016-01-24 17:04:33 +01:00
Marcel Müller 97b7090824
Partially implement get_entry 2016-01-24 17:04:33 +01:00
Marcel Müller 50413101c4
Move entry, content and header into store 2016-01-24 17:04:32 +01:00
Marcel Müller ba2e52788b
Add entry_creation 2016-01-24 17:04:32 +01:00
Marcel Müller d949cddc65
Implement Store::retrieve 2016-01-24 17:04:32 +01:00
Matthias Beyer 24ebe6736e Merge pull request #114 from matthiasbeyer/libimagstore/store-new-behaviour
Store::new(): Create path if nonexistent
2016-01-23 19:57:44 +01:00
Matthias Beyer 796cd01343 Init the header with default values 2016-01-23 16:41:22 +01:00
Matthias Beyer 38292ea8cb Dont pass the table to the header object, but generate it in ::new() 2016-01-23 16:40:00 +01:00
Matthias Beyer c48f3afcf4 Return error if create() fails 2016-01-23 11:57:40 +01:00
Matthias Beyer 0c3bcc3f15 Add error kind: Create errors 2016-01-23 11:57:40 +01:00
Matthias Beyer 80b0501d03 Introduce error if the store path exists but is a file 2016-01-23 11:57:40 +01:00
Matthias Beyer 4f71563eb4 Store::new(): Create path if nonexistent 2016-01-23 11:57:40 +01:00
Matthias Beyer ffe56c4993 Add test with current version 2016-01-23 11:44:48 +01:00
Matthias Beyer e01f70aaad Use version
We use this not only for tests, but for the whole crate, as I assume
that we might need this crate later on in the non-test sources anyways.
2016-01-23 11:44:48 +01:00
Matthias Beyer a8ac1593e7 Add dep: version = 1.1.0 2016-01-23 11:44:48 +01:00
Matthias Beyer b0859c3e2f Use semver parser instead of regex 2016-01-23 11:44:47 +01:00
Matthias Beyer b486960720 Add version-string verification 2016-01-23 11:30:54 +01:00
Matthias Beyer dd11e32d82 Include regex 2016-01-23 11:30:54 +01:00
Matthias Beyer f4fbbb688d Add dep: regex 2016-01-23 11:30:54 +01:00
Matthias Beyer 775d724a8c Add header test: Invalid version string 2016-01-23 11:30:54 +01:00
Matthias Beyer 1187f7d9b3 Add header verification test 2016-01-23 11:30:53 +01:00
Matthias Beyer 9884f78dae Move header verifying into helper function 2016-01-23 11:30:53 +01:00
Matthias Beyer 2a4f3baf0b Add tests on header checkers 2016-01-23 11:30:53 +01:00
Matthias Beyer 3e661439e8 Add sanity-check to header parsing 2016-01-23 11:30:53 +01:00
Matthias Beyer 6be3011e85 Add: EntryHeader::parse()
Introduce Error + Error-kind for it, return Result<> from the ::parse()
function.
2016-01-23 11:28:20 +01:00
Marcel Müller 03c2ded21b
Move tempdir to dev-dependencies 2016-01-22 21:08:56 +01:00
Marcel Müller 4d28b57658
Remove remaining Cargo.lock files 2016-01-22 20:15:32 +01:00
Homu 2e77afbb3c Auto merge of #125 - TheNeikos:add-store_utils, r=matthiasbeyer
Add store utils

Do not merge yet!!
2016-01-22 10:31:02 -08:00
Homu 7511e220c8 Auto merge of #110 - neithernut:remove-residual-storeentry-methods, r=matthiasbeyer
Remove methods which are not needed anymore

These methods were intended for managing cached entries. Sice it was
decided not to serve caching in the store, these methods are no longer
needed.
2016-01-23 03:06:09 +09:00