aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-persist/src/testing.rs
Commit message (Collapse)AuthorAgeFilesLines
* arti-client: Unlock the state manager on failure to bootstrapeta2022-02-241-5/+18
| | | | | | | | | | | | `StateMgr` got a new `unlock()` method that does what it says on the tin. We now call it from `bootstrap()` using the new `util::StateMgrUnlockGuard`, which works in a manner similar to the `BoolResetter` from `tor_dirmgr`. (A decent small little task in future might be to unify these types in some sort of general arti utility crate?) closes arti#335
* tor-persist: Distinguish load vs. store json errorsIan Jackson2022-02-041-2/+3
| | | | | | | | Serialisation errors ought not to occur, since they would represent an attempt to store malformed data, or something. (We always convert to a string, so the JSON error never contains IO errors or the like.) Deserialisation errors mean the persistent state is corrupt.
* address clippy's latest lintDaniel Eades2021-12-201-0/+1
|
* Change how TestingStateMgr handles locking.Nick Mathewson2021-11-031-43/+80
| | | | | | Previously it was either all-locked or all-not-locked. Now you can simulate having the same shared storage opened by multiple managers, only one of which has the lock.
* Add Futureproof<T> wrapper type, use for GuardDisabled enumeta2021-10-271-0/+42
| | | | | | | | | | | The Futureproof<T> type lets you serialize and deserialize types whose representations might change (most useful for enums that might grow additional variants). It uses #[serde(untagged)] to accomplish this. This gets used in order to make the `disabled` field of `Guard` more robust against future guard disablement reasons being added. A test was also added to verify correct behaviour of the new type.
* Remove try_lock from StorageHandle.Nick Mathewson2021-10-201-2/+2
|
* Replace the return type of StorageMgr::try_lock with a tristateNick Mathewson2021-10-201-8/+12
| | | | | It's useful to know now only if we now have the lock, but also if we just got it for the first time.
* Fix some typos (via the "typos" tool)Nick Mathewson2021-10-081-2/+2
|
* Change tor-persist to use json instead of toml.Nick Mathewson2021-10-071-3/+4
| | | | | | The limitations with toml seemed to be reaching a head, and I wasn't able to refactor the guardmgr code enough to actually have its state be serializable as toml. Json's limitations are much narrower.
* Add tests for tor-persist object-safe wrapper.Nick Mathewson2021-09-301-0/+34
|
* tor-persist: Add a testing-only state manager that doesn't use diskNick Mathewson2021-09-301-0/+166