Fix stdio observer refactor (#859)
This commit is contained in:
parent
de99ee1340
commit
1eb738695f
@ -212,7 +212,7 @@ where
|
||||
pub fn from_cmd_with_file<P>(
|
||||
cmd: &Command,
|
||||
debug_child: bool,
|
||||
mut observers: OT,
|
||||
observers: OT,
|
||||
path: P,
|
||||
) -> Result<Self, Error>
|
||||
where
|
||||
@ -529,7 +529,7 @@ impl CommandExecutorBuilder {
|
||||
/// Builds the `ComandExecutor`
|
||||
pub fn build<EM, OT, S, Z>(
|
||||
&self,
|
||||
mut observers: OT,
|
||||
observers: OT,
|
||||
) -> Result<CommandExecutor<EM, OT, S, StdCommandConfigurator, Z>, Error>
|
||||
where
|
||||
OT: Debug + MatchName + ObserversTuple<S>,
|
||||
|
@ -141,13 +141,13 @@ where
|
||||
|
||||
/// Returns true if a `stdout` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
self.primary.as_mut().observes_stdout() || self.secondary.as_mut().observes_stdout()
|
||||
fn observes_stdout(&self) -> bool {
|
||||
self.primary.as_ref().observes_stdout() || self.secondary.as_ref().observes_stdout()
|
||||
}
|
||||
/// Returns true if a `stderr` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
self.primary.as_mut().observes_stderr() || self.secondary.as_mut().observes_stderr()
|
||||
fn observes_stderr(&self) -> bool {
|
||||
self.primary.as_ref().observes_stderr() || self.secondary.as_ref().observes_stderr()
|
||||
}
|
||||
|
||||
/// Runs `observe_stdout` for all stdout observers in the list
|
||||
|
@ -93,12 +93,12 @@ where
|
||||
|
||||
/// If this observer observes `stdout`
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
fn observes_stdout(&self) -> bool {
|
||||
false
|
||||
}
|
||||
/// If this observer observes `stderr`
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
@ -107,6 +107,7 @@ where
|
||||
#[inline]
|
||||
#[allow(unused_variables)]
|
||||
fn observe_stdout(&mut self, stdout: &str) {}
|
||||
|
||||
/// React to new `stderr`
|
||||
/// To use this, always return `true` from `observes_stderr`
|
||||
#[inline]
|
||||
@ -149,9 +150,9 @@ where
|
||||
) -> Result<(), Error>;
|
||||
|
||||
/// Returns true if a `stdout` observer was added to the list
|
||||
fn observes_stdout(&mut self) -> bool;
|
||||
fn observes_stdout(&self) -> bool;
|
||||
/// Returns true if a `stderr` observer was added to the list
|
||||
fn observes_stderr(&mut self) -> bool;
|
||||
fn observes_stderr(&self) -> bool;
|
||||
|
||||
/// Runs `observe_stdout` for all stdout observers in the list
|
||||
fn observe_stdout(&mut self, stdout: &str);
|
||||
@ -191,12 +192,13 @@ where
|
||||
|
||||
/// Returns true if a `stdout` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
fn observes_stdout(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
/// Returns true if a `stderr` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
@ -204,6 +206,7 @@ where
|
||||
#[inline]
|
||||
#[allow(unused_variables)]
|
||||
fn observe_stdout(&mut self, stdout: &str) {}
|
||||
|
||||
/// Runs `observe_stderr` for all stderr observers in the list
|
||||
#[inline]
|
||||
#[allow(unused_variables)]
|
||||
@ -248,12 +251,13 @@ where
|
||||
|
||||
/// Returns true if a `stdout` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
fn observes_stdout(&self) -> bool {
|
||||
self.0.observes_stdout() || self.1.observes_stdout()
|
||||
}
|
||||
|
||||
/// Returns true if a `stderr` observer was added to the list
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
self.0.observes_stderr() || self.1.observes_stderr()
|
||||
}
|
||||
|
||||
@ -261,10 +265,13 @@ where
|
||||
#[inline]
|
||||
fn observe_stdout(&mut self, stdout: &str) {
|
||||
self.0.observe_stdout(stdout);
|
||||
self.1.observe_stdout(stdout);
|
||||
}
|
||||
|
||||
/// Runs `observe_stderr` for all stderr observers in the list
|
||||
#[inline]
|
||||
fn observe_stderr(&mut self, stderr: &str) {
|
||||
self.0.observe_stderr(stderr);
|
||||
self.1.observe_stderr(stderr);
|
||||
}
|
||||
}
|
||||
@ -974,12 +981,12 @@ pub mod pybind {
|
||||
|
||||
// TODO: expose stdout/stderr to python
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
fn observes_stdout(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
false
|
||||
}
|
||||
|
||||
|
@ -264,7 +264,7 @@ where
|
||||
|
||||
/// Do nothing on new `stderr`
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
|
@ -32,9 +32,10 @@ where
|
||||
S: UsesInput,
|
||||
{
|
||||
#[inline]
|
||||
fn observes_stdout(&mut self) -> bool {
|
||||
fn observes_stdout(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
/// React to new `stdout`
|
||||
fn observe_stdout(&mut self, stdout: &str) {
|
||||
self.stdout = Some(stdout.into());
|
||||
@ -71,11 +72,11 @@ where
|
||||
S: UsesInput,
|
||||
{
|
||||
#[inline]
|
||||
fn observes_stderr(&mut self) -> bool {
|
||||
fn observes_stderr(&self) -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
/// Do nothing on new `stderr`
|
||||
/// React to new `stderr`
|
||||
fn observe_stderr(&mut self, stderr: &str) {
|
||||
self.stderr = Some(stderr.into());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user