-
Notifications
You must be signed in to change notification settings - Fork 146
cannier: implement parts (features, model, test set) #3930
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
base: main
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
ec5314b
to
b88bb00
Compare
b88bb00
to
3f3bfbd
Compare
Creates the first command `cannier extract` that defines the interface of the feature vector. Nearly all of the values returned are mocked. Signed-off-by: Daniel Hiller <[email protected]>
Adds retrieval of the ast.CallExpr that is the test declaration by name. Refactoring: moves outline generation into robots/pkg/ginkgo Signed-off-by: Daniel Hiller <[email protected]>
initial approach to generate classification for test flakiness Signed-off-by: Daniel Hiller <[email protected]>
also finding test file by test name now works Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
We now have the commands: * `generate model` - saves the model data to disk * `generate classes` * `host model` - takes a data file and serves the model Signed-off-by: Daniel Hiller <[email protected]>
plan: create a GET handler that gives a statistical overview about the model data, i.e. * number of classes and their appearance * min, max, average of each feature Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
adds a handler for /stats that emits statistics for the model data. Signed-off-by: Daniel Hiller <[email protected]>
Since we can't rely on the name alone we add support for finding tests by test_id. Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
Creates the required data we need for mapping tests towards file changes. This change holds an automatic expansion of a git repository inside testdata so that we can unit test git operations. Also updates the unit tests for blame. Signed-off-by: Daniel Hiller <[email protected]>
Adds the `extract changed-tests` command which determines for a given revision range the changes to tests inside a code base. Output is the names of the changed tests as well as the ginkgo node data for the paths to each changed test. Paths are expanded from the ginkgo tree, which means each path describes exactly one test. Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
Signed-off-by: Daniel Hiller <[email protected]>
3f3bfbd
to
e3dcea7
Compare
e3dcea7
to
1f49a89
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Daniel Hiller <[email protected]>
2dcc37d
to
bfa5f23
Compare
Signed-off-by: Daniel Hiller <[email protected]>
bfa5f23
to
a1ef64e
Compare
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
What this PR does / why we need it:
Implements the code parts required for the CANNIER approach 1 .
Creates
cannier
subcommands required to execute:extract
features
- extracts the feature vector from the test code for a given test casetestname
- extracts the names for the changed ginkgo tests for a range of commitsgenerate
model
- generates the random forest model from a set of test caseshost
model
Defines the format of the feature vector. Note: most of the values returned are mocked currently.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer: