Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

dougch
Copy link
Contributor

@dougch dougch commented Jun 10, 2025

Release Summary:

Resolved issues:

resolves #5040

Description of changes:

Removes the nix shell function integ and replaces it with uvinteg, also eliminating calling out individual integration tests in a list.

To mitigate for missing tests, this PR also adds in a snapshot check using pytest's --collect-only flag, comparing a list of expected tests with what pytest sees and failing if they don't match. Here is a branch, without the renegotiate_apache test in the snapshot list, failing.

Call-outs:

This adds a cleanup routine for apache2 configs, so when doing local runs of the integration tests, the apache2 configs get regenerated. This is not needed in CI, as we're throwing away Docker containers after the test runs.

Testing:

How is this change tested (unit tests, fuzz tests, etc.)? Local, CI.
How can you convince your reviewers that this PR is safe and effective?
Is this a refactor change? If so, how have you proved that the intended behavior hasn't changed?

Remember:

  • Any change to the library source code should at least include unit tests.
  • Any change to the core stuffer or blob methods should include CBMC proofs.
  • Any change to the CI or tests should:
    1. prove that the test succeeds for good input
    2. prove that the test fails for bad input (eg, a test for memory leaks fails when a memory leak is committed)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@github-actions github-actions bot added the s2n-core team label Jun 10, 2025
@dougch dougch added type/nix related to nix and removed s2n-core team labels Jun 10, 2025
@dougch dougch marked this pull request as ready for review June 11, 2025 21:52
@dougch dougch requested a review from lrstewart June 11, 2025 21:52
Copy link
Contributor

@lrstewart lrstewart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the PR name is accurate. You're not adding the renegotiate apache to nix, and you're not just adding it to uv, you're switching all the nix tests over to uv.

@dougch dougch requested review from lrstewart and jmayclin June 25, 2025 00:19
@dougch dougch changed the title Add renegotiate apache test to nix/uv/pytest Flip Nix integration tests to use uv/pytest Jul 9, 2025
@@ -0,0 +1,22 @@
<Module test_buffered_send.py>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm, this level of snapshotting is at the test level, and not the case level, right?

So we'd fail if we stopped running test_early_data, but we won't fail if we just dropped one of the test_early_data cases?

I guess this would be nasty to track across CI configurations 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct; the case level was attempted in #5266, but it's significantly more complex.

@dougch dougch enabled auto-merge (squash) July 11, 2025 17:51
@dougch dougch merged commit 333b7e7 into aws:main Jul 11, 2025
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/nix related to nix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[nix] Refactor Python packages to use uv
4 participants