Skip to content

Conversation

@m-dzianishchyts
Copy link
Contributor

What does this PR do?

Fixes random hanging of integration tests.

Fixes #63.

@andrus
Copy link
Contributor

andrus commented Dec 6, 2025

  1. Trying to better understand the change. I mostly get the "expect" part, but why did it cause a change in most assertions? Does it mean we can no longer differentiate between STDERR and STDOUT with expect? (not a big deal either way).

  2. This is minor semantics, but I'd rather we get on the same page. While we don't have formally documented coding conventions, all our test classes are public and test methods are public. Such consistency helps with IDE configuration (e.g., in Idea I can turn off "Non-public" members and still see the test methods), and just generally, with code comprehension. So let's not remove "public" with every pull request.

@m-dzianishchyts
Copy link
Contributor Author

  1. Trying to better understand the change. I mostly get the "expect" part, but why did it cause a change in most assertions? Does it mean we can no longer differentiate between STDERR and STDOUT with expect? (not a big deal either way).

According to pexpect docs, it only distinguishes input and output logs, which means that the kernel's stderr and stdout can only be represented as a single output stream. For testcontainers, getting stderr means getting only pexpect errors, not the kernel ones.

@andrus
Copy link
Contributor

andrus commented Dec 13, 2025

@m-dzianishchyts Thanks for the explanation. Another thing I noticed is the Docker scope - instead of a single container shared by all tests (static one in the superclass), it is now initialized in @BeforeAll, so each subclass calls it independently. This results in about 60% slower test run. So I wonder how essential this change is for the test stability goal?

@m-dzianishchyts
Copy link
Contributor Author

@m-dzianishchyts Thanks for the explanation. Another thing I noticed is the Docker scope - instead of a single container shared by all tests (static one in the superclass), it is now initialized in @BeforeAll, so each subclass calls it independently. This results in about 60% slower test run. So I wonder how essential this change is for the test stability goal?

Thanks for pointing this out. It must have been left over after investigating the causes of hanging

@andrus andrus merged commit 913945c into dflib:main Dec 17, 2025
4 checks passed
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

Successfully merging this pull request may close these issues.

Unstable test in the KernelMagicIT

2 participants