-
Notifications
You must be signed in to change notification settings - Fork 143
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
CI and local smoke testing #439
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DJMcNab
force-pushed
the
initial-tests
branch
from
February 14, 2024 17:24
1f7d334
to
a73e6d6
Compare
Co-Authored-By: Chad Brokaw <[email protected]>
DJMcNab
force-pushed
the
initial-tests
branch
from
February 15, 2024 09:03
9abcceb
to
99ea136
Compare
DJMcNab
changed the title
Sketch out what tests could look like
Add some very basic tests to allow local and CI validation of trivial properties
Feb 15, 2024
DJMcNab
changed the title
Add some very basic tests to allow local and CI validation of trivial properties
CI and local smoke testing
Feb 15, 2024
waywardmonkeys
approved these changes
Feb 15, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good overall.
simbleau
pushed a commit
that referenced
this pull request
Feb 20, 2024
* Use `next_multiple_of` * Sketch out how tests can work * Fix clippy failure * build script: rerun properly * See if lavapipe will get vello working * Fix the CPU shaders Co-Authored-By: Chad Brokaw <[email protected]> * Make the GPU support conditional * Make include be strings properly * Try changing the variable name to not have an underscore * Add a standard debugging environment variable * Disable the GPU tests on macOS * Rename the "concave" tests to "smoke" tests * Fix clippy issues and make env var match (PR) docs --------- Co-authored-by: Chad Brokaw <[email protected]>
This was referenced Apr 29, 2024
github-merge-queue bot
pushed a commit
to linebender/xilem
that referenced
this pull request
Aug 5, 2024
See also linebender/vello#439 This should open the door to doing much more comprehensive testing at higher level in the nearish future (including e.g. in `xilem_masonry`)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To run the tests locally, use:
These are placed in a new (non-publishing)
vello_tests
crate. The lib.rs of this crate has helpers for creating test cases, adapted from the headless example.There is currently one additional set of tests, the
smoke.rs
tests. This has one test with two instantiations (over the value ofuse_cpu
). This test issimple_square
, which draws a 50px by 50px square, and confirms that 2500 pixels are red (and that the remainder are black).There is a debug environment variable, which is
VELLO_DEBUG_TESTS
. This controls the debug output to PNG of these tests. These png are output into thedebug_outputs
folder. The environment variable takes a list of tests to debug, separated by commas. E.g.VELLO_DEBUG_TESTS=simple_square_cpu
would debug the testsimple_square
withuse_cpu
enabled. Thecpu
/gpu
suffices are optional, e.g.VELLO_DEBUG_TESTS=simple_square
would output the png for bothsimple_square_cpu
andsimple_square_gpu
.There are also three special values:
all
, which debugs every testcpu
, which debugs the CPU version of every testgpu
, which debugs the GPU version of every testIn terms of CI, this uses Mesa (and thus lavapipe?) to run the shaders on the CPU of the runner. This is only possible on Ubuntu. In theory, windows has a fallback CPU implementation of DirectX, but I haven't dug into this yet