Conversation
There was a problem hiding this comment.
Pull request overview
This PR includes several small miscellaneous fixes to improve the development workflow and test infrastructure.
Changes:
- Adds tracy profiling tool binaries to .gitignore
- Adds static check to prevent use of
SecretKey::random()in test files - Removes redundant
#pragma oncedirective from basen.h header (which already has include guards) - Attempts to modify CI to skip Soroban tests when Catch2 tests fail
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .gitignore | Adds tracy-capture and tracy-gui binaries to ignore list |
| src/test/check-nondet | Adds check to prevent non-deterministic SecretKey::random() usage in tests |
| lib/util/basen.h | Removes duplicate #pragma once (file uses traditional include guards) |
| ci-build.sh | Adds TESTS_ENVIRONMENT to skip tests after failures (has implementation issues) |
|
Putting some notes on the CI modification. This approach seems to work, although it does feel somewhat hacky (especially since it's relying on the internal automake implementation of serialized tests using a |
I like this option. I agree that depending on automake internals is not ideal. |
d30c1ec to
9d3cea2
Compare
8b5103d to
e33903b
Compare
src/herder/Upgrades.cpp
Outdated
| // The version of upgrade parameters serialization that introduced the | ||
| // nominationtimeoutlimit and expirationminutes fields. | ||
| constexpr const uint32_t UPGRADE_VERSION_WITH_NOMINATION_STRIPPING = 1; | ||
| constexpr uint32_t const UPGRADE_VERSION_WITH_NOMINATION_STRIPPING = 1; |
There was a problem hiding this comment.
Maybe also worth adding QualifierOrder so constexpr also appears to the right (assuming that's what we want)
There was a problem hiding this comment.
Weirdly enough I think west constexpr is way more common across our codebase. I really don't have an opinion about that, and would gladly follow whatever someone who feels more strongly about this prefers (including doing nothing).
That being said, the const on this line and on line 43 are unnecessary and implied by the constexpr. Maybe worth cleaning up since you're modifying these lines anyway.
bboston7
left a comment
There was a problem hiding this comment.
Thanks for putting this together. I think this is looking great except for the exec issue.
src/herder/Upgrades.cpp
Outdated
| // The version of upgrade parameters serialization that introduced the | ||
| // nominationtimeoutlimit and expirationminutes fields. | ||
| constexpr const uint32_t UPGRADE_VERSION_WITH_NOMINATION_STRIPPING = 1; | ||
| constexpr uint32_t const UPGRADE_VERSION_WITH_NOMINATION_STRIPPING = 1; |
There was a problem hiding this comment.
Weirdly enough I think west constexpr is way more common across our codebase. I really don't have an opinion about that, and would gladly follow whatever someone who feels more strongly about this prefers (including doing nothing).
That being said, the const on this line and on line 43 are unnecessary and implied by the constexpr. Maybe worth cleaning up since you're modifying these lines anyway.
.gitignoreSecretKey::randomin testsanalyzeCriticalGroupscli option