Commit graph

223 commits

Author SHA1 Message Date
794e7617e3 Impl Into<Table> for EntryHeader 2016-02-12 22:02:33 +01:00
df9313c599 Add EntryHeader::insert_with_sep() 2016-02-12 21:57:53 +01:00
54ba22d0ef Add EntryHeader::set_with_sep() 2016-02-12 21:56:48 +01:00
bca0143343 Add EntryHeader::read_with_sep() which allows seperator modification 2016-02-12 21:55:06 +01:00
a4fa1bac07 Add split-char setting 2016-02-12 21:50:44 +01:00
6397068ddc Add test for EntryHeader::delete() 2016-02-12 20:02:57 +01:00
cb87f31a23 Add EntryHeader::delete() 2016-02-12 20:02:56 +01:00
30e8afeced Add tests for inserting values 2016-02-12 20:02:56 +01:00
965c3445a1 Add test for setting value at new path 2016-02-12 20:02:56 +01:00
dd53e467d7 Add EntryHeader::set() test 2016-02-12 20:02:56 +01:00
b4362f5c65 Alter: EntryHeader should contain a Value, not the BTreeMap<> 2016-02-12 20:02:56 +01:00
74a9b844ca Add debugging output in tests 2016-02-12 20:02:41 +01:00
60ccf58f84 Merge pull request #148 from neithernut/impl-store-retrieve_copy
Implement Store::retrieve_copy()
2016-02-12 18:59:56 +01:00
103a0dea17 Add test: EntryHeader::read() 2016-02-11 15:45:48 +01:00
731a446546 Implement EntryHeader::read() 2016-02-11 15:45:47 +01:00
548aee8d5f Implement EntryHeader::set() 2016-02-11 15:45:47 +01:00
4d94f8a67f Implement: EntryHeader::insert() 2016-02-11 15:45:47 +01:00
3b09e0c214 Move helper functions outside of walk_header(), so we can use them 2016-02-11 15:45:47 +01:00
42aade5cef Add tests for path-to-value extractor functionality 2016-02-11 15:43:58 +01:00
4759076249 Implement walk_header() 2016-02-11 15:43:58 +01:00
a2e3598c01 Add more error types for header walking 2016-02-11 15:43:58 +01:00
0727fca797 Add tokenizer helper function 2016-02-11 15:43:58 +01:00
2f6cfb5868 Add interface for header field addressing by str 2016-02-11 15:43:58 +01:00
00ccc22ef5 Add some debugging output for {create,retrieve,delete} 2016-02-09 20:09:12 +01:00
d85f985694 Fixup path-includes-path checker 2016-02-09 20:08:58 +01:00
ddd54e03ad Add store path getter 2016-02-09 13:45:13 +01:00
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
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
373502217e Check whether the StoreId is inside the store, before doing anything on the FS 2016-02-06 18:48:59 +01:00
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
ddd61f9c1f libimagstore: Update dep: version: 1.1.0 -> 2.0.1 2016-02-05 21:53:26 +01:00
959a68f1a6 Merge pull request #153 from matthiasbeyer/libimagstore/add-debugging-output
Libimagstore/add debugging output
2016-02-05 16:03:23 +01:00
0931ede580 Merge pull request #165 from matthiasbeyer/remove-unused-imports
Remove unused imports
2016-01-30 13:47:57 +01:00
213cb32a88 Fix: Add EntryHeader::toml_mut() 2016-01-30 12:38:36 +01:00
f6e03c804e store/store: Remove unused imports 2016-01-29 23:06:15 +01:00
814e85508b store/error: Remove unused imports 2016-01-29 23:06:04 +01:00
33b6a89a02 Merge pull request #156 from matthiasbeyer/libimagstore/fix-private-intostoreid
Fix: Make IntoStoreId public
2016-01-29 19:11:03 +01:00
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
fbb296495b Merge pull request #154 from matthiasbeyer/libimagstore/fix-152
Fix: negation error
2016-01-29 19:10:51 +01:00
72cf550c9f Fix: seek() file back on reading it 2016-01-29 18:17:41 +01:00
69bebfcfc0 Fix: Make IntoStoreId public 2016-01-29 17:03:24 +01:00
c64cdad63b Fix: Add missing documentation for mod module_path 2016-01-29 17:03:05 +01:00
38791ea2f9 Fix: negation error
Suggested-by: Marcel Müller <neikos@neikos.email>
2016-01-29 16:53:13 +01:00
3b51328aa7 Merge pull request #145 from neithernut/fix-store-retrieve
Fix Store::retrieve()
2016-01-29 16:29:38 +01:00
b04c676eb9 Add store debugging output 2016-01-28 21:06:49 +01:00
4bc905c692 Add debug output for LazyFile::{get_file_mut,create_file}() 2016-01-28 21:00:33 +01:00
2c398d941b Let LazyFile derive Debug 2016-01-28 21:00:13 +01:00
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
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
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
82873d82ba Merge pull request #143 from TheNeikos/add-store_update
Implement storenetry:write_entry
2016-01-24 20:25:57 +01:00
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
bbd08d9526 Add Store::retrieve_for_module() 2016-01-24 17:40:06 +01:00
36770abac5 Add iterator type for StoreId 2016-01-24 17:39:41 +01:00
e951666e3d Use glob 2016-01-24 17:39:41 +01:00
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
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
796cd01343 Init the header with default values 2016-01-23 16:41:22 +01:00
38292ea8cb Dont pass the table to the header object, but generate it in ::new() 2016-01-23 16:40:00 +01:00
c48f3afcf4 Return error if create() fails 2016-01-23 11:57:40 +01:00
0c3bcc3f15 Add error kind: Create errors 2016-01-23 11:57:40 +01:00
80b0501d03 Introduce error if the store path exists but is a file 2016-01-23 11:57:40 +01:00
4f71563eb4 Store::new(): Create path if nonexistent 2016-01-23 11:57:40 +01:00
ffe56c4993 Add test with current version 2016-01-23 11:44:48 +01:00
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
a8ac1593e7 Add dep: version = 1.1.0 2016-01-23 11:44:48 +01:00
b0859c3e2f Use semver parser instead of regex 2016-01-23 11:44:47 +01:00
b486960720 Add version-string verification 2016-01-23 11:30:54 +01:00
dd11e32d82 Include regex 2016-01-23 11:30:54 +01:00
f4fbbb688d Add dep: regex 2016-01-23 11:30:54 +01:00
775d724a8c Add header test: Invalid version string 2016-01-23 11:30:54 +01:00
1187f7d9b3 Add header verification test 2016-01-23 11:30:53 +01:00
9884f78dae Move header verifying into helper function 2016-01-23 11:30:53 +01:00
2a4f3baf0b Add tests on header checkers 2016-01-23 11:30:53 +01:00
3e661439e8 Add sanity-check to header parsing 2016-01-23 11:30:53 +01:00
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