On Saturday, 31 July 2021 at 12:03:49 UTC, DLearner wrote:
Hi
This may be due to Windows, not DMD.
Please see code below (held in test.d):
```
void main() {
import std.stdio;
writeln("Test");
assert(false, "TestAssert");
}
```
`
dmd -i -run test.d
`
results in both "Test" and the "TestAssert" string (and trace)
being routed to screen.
But
`
dmd -i -run test.d > op.txt
`
results in only "Test" going into op.txt, the "TestAssert"
string (and trace) being routed to screen as before.
I expected both "Test" and the "TestAssert" string (and trace)
to go into op.txt.
The idea was to use op.txt as documentation of a successful
test of the "TestAssert" string.
Best regards
Please read the docs that jfronden referred to.
If you want a quick hack, use this:
```d
const(char)[] falseAssertMsg(string s){
writeln(s);
return "";
}
void main() {
import std.stdio;
writeln("Test");
assert(false, falseAssertMsg("TestAssert failed in
main()"));
}
```
There should be a better way of doing this though.