Skip to content
Snippets Groups Projects
Commit f6ef47e2 authored by Lukas Stadler's avatar Lukas Stadler
Browse files

support diverting stderr in sink

parent 6b24e3ab
Branches
No related tags found
No related merge requests found
......@@ -55,15 +55,15 @@ public class SinkFunctions {
@Specialization
@TruffleBoundary
protected RNull sink(RConnection conn, boolean closeOnExit, boolean errcon, boolean split) {
if (errcon) {
// TODO
throw RError.nyi(this, "type=message");
}
if (split) {
// TODO
throw RError.nyi(this, "split");
}
StdConnections.pushDivertOut(conn, closeOnExit);
if (errcon) {
StdConnections.divertErr(conn);
} else {
StdConnections.pushDivertOut(conn, closeOnExit);
}
return RNull.instance;
}
......@@ -97,6 +97,5 @@ public class SinkFunctions {
return StdConnections.stderrDiversion();
}
}
}
}
......@@ -19,11 +19,11 @@ public class TestBuiltin_sink extends TestBase {
@Test
public void testsink1() {
assertEval("argv <- list(structure(2L, class = c('terminal', 'connection')), FALSE, FALSE, FALSE); .Internal(sink(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
assertEval(Ignored.SideEffects, "argv <- list(structure(2L, class = c('terminal', 'connection')), FALSE, FALSE, FALSE); .Internal(sink(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
}
@Test
public void testsink3() {
assertEval(Ignored.Unknown, "argv <- list(-1L, FALSE, FALSE, FALSE); .Internal(sink(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
assertEval(Ignored.SideEffects, "argv <- list(-1L, FALSE, FALSE, FALSE); .Internal(sink(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment