summaryrefslogtreecommitdiffstats
path: root/lib/etc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/etc')
-rw-r--r--lib/etc/libimaginteraction/src/readline.rs26
-rw-r--r--lib/etc/libimagutil/src/testing.rs17
2 files changed, 29 insertions, 14 deletions
diff --git a/lib/etc/libimaginteraction/src/readline.rs b/lib/etc/libimaginteraction/src/readline.rs
index 58275444..7d498ce5 100644
--- a/lib/etc/libimaginteraction/src/readline.rs
+++ b/lib/etc/libimaginteraction/src/readline.rs
@@ -19,7 +19,7 @@
use error::InteractionError as IE;
use error::InteractionErrorKind as IEK;
-use error::MapErrInto;
+use error::ResultExt;
use toml::Value;
@@ -46,36 +46,36 @@ impl Readline {
let histfile = try!(match histfile {
Value::String(s) => PathBuf::from(s),
_ => Err(IE::from_kind(IEK::ConfigTypeError))
- .map_err_into(IEK::ConfigError)
- .map_err_into(IEK::ReadlineError)
+ .chain_err(|| IEK::ConfigError)
+ .chain_err(|| IEK::ReadlineError)
});
let histsize = try!(match histsize {
Value::Integer(i) => i,
_ => Err(IE::from_kind(IEK::ConfigTypeError))
- .map_err_into(IEK::ConfigError)
- .map_err_into(IEK::ReadlineError)
+ .chain_err(|| IEK::ConfigError)
+ .chain_err(|| IEK::ReadlineError)
});
let histigndups = try!(match histigndups {
Value::Boolean(b) => b,
_ => Err(IE::from_kind(IEK::ConfigTypeError))
- .map_err_into(IEK::ConfigError)
- .map_err_into(IEK::ReadlineError)
+ .chain_err(|| IEK::ConfigError)
+ .chain_err(|| IEK::ReadlineError)
});
let histignspace = try!(match histignspace {
Value::Boolean(b) => b,
_ => Err(IE::from_kind(IEK::ConfigTypeError))
- .map_err_into(IEK::ConfigError)
- .map_err_into(IEK::ReadlineError)
+ .chain_err(|| IEK::ConfigError)
+ .chain_err(|| IEK::ReadlineError)
});
let prompt = try!(match prompt {
Value::String(s) => s,
_ => Err(IE::from_kind(IEK::ConfigTypeError))
- .map_err_into(IEK::ConfigError)
- .map_err_into(IEK::ReadlineError)
+ .chain_err(|| IEK::ConfigError)
+ .chain_err(|| IEK::ReadlineError)
});
let config = Config::builder().
@@ -88,10 +88,10 @@ impl Readline {
if !histfile.exists() {
let _ = try!(File::create(histfile.clone())
- .map_err_into(IEK::ReadlineHistoryFileCreationError));
+ .chain_err(|| IEK::ReadlineHistoryFileCreationError));
}
- let _ = try!(editor.load_history(&histfile).map_err_into(ReadlineError));
+ let _ = try!(editor.load_history(&histfile).chain_err(|| ReadlineError));
Ok(Readline {
editor: editor,
diff --git a/lib/etc/libimagutil/src/testing.rs b/lib/etc/libimagutil/src/testing.rs
index 13a70d99..823e3f60 100644
--- a/lib/etc/libimagutil/src/testing.rs
+++ b/lib/etc/libimagutil/src/testing.rs
@@ -95,19 +95,34 @@ macro_rules! make_mock_app {
}
}
+ #[allow(unused)]
pub fn generate_minimal_test_config() -> Option<Configuration> { ::toml::de::from_str("[store]\nimplicit-create=true")
.map(Configuration::with_value)
.ok()
}
+ #[allow(unused)]
pub fn generate_test_runtime<'a>(mut args: Vec<&'static str>) -> Result<Runtime<'a>, RuntimeError> {
- let mut cli_args = vec!["imag-link", "--rtp", "/tmp"];
+ let mut cli_args = vec![$appname, "--rtp", "/tmp"];
cli_args.append(&mut args);
let cli_app = MockLinkApp::new(cli_args);
Runtime::with_configuration(cli_app, generate_minimal_test_config())
}
+
+ #[allow(unused)]
+ pub fn reset_test_runtime<'a>(mut args: Vec<&'static str>, old_runtime: Runtime)
+ -> Result<Runtime<'a>, RuntimeError>
+ {
+ let mut cli_args = vec![$appname, "--rtp", "/tmp"];
+
+ cli_args.append(&mut args);
+
+ let cli_app = MockLinkApp::new(cli_args);
+ Runtime::with_configuration(cli_app, generate_minimal_test_config())
+ .map(|rt| rt.with_store(old_runtime.extract_store()))
+ }
}
};