Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redirections for stdout require buffering to be disabled for assertions like cr_assert_stdout_eq_str to pass. #506

Open
oliversheridanmethven opened this issue Jul 29, 2023 · 0 comments

Comments

@oliversheridanmethven
Copy link

I think mostly this is a documentation issue, but I found when I was doing all the redirection tests with stderr everything was working fine (as in the docs), but when I switched to testing stdout it was all failing. It seems the root cause was that stdout was being buffered. Following the documentation, it seems the following was required for this to work.

void redirect_all_stdout(void)
{
    cr_redirect_stdout();
    setbuf(stdout, NULL);
    cr_redirect_stderr();
}

I think the documentation just needs to be updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant