-
Notifications
You must be signed in to change notification settings - Fork 307
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
DAOS-16953 tests: fix btree parameter parsing #15850
Conversation
Ticket title is 'btree.sh argument parsing is off' |
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/1/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/1/testReport/ |
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/5/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/5/testReport/ |
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/6/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/6/testReport/ |
f0406e3
to
ce818c2
Compare
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/8/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/8/testReport/ |
ce818c2
to
959f9c9
Compare
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15850/9/testReport/ |
959f9c9
to
a5d5f74
Compare
In btree.sh the -m and -t parameters were not applied correctly because of the preceding positional argument containing spaces but not wrapped in quotes In btree.c an invalid parameter sequence was not detected due to of the partially manual parsing process. btr_test_state introduced to provide global parameters to test (argc/argv) and avoid static variables for that purpose. Co-authored-by: Jan Michalski <[email protected]> Co-authored-by: Tomasz Gromadzki <[email protected]> Signed-off-by: Tomasz Gromadzki <[email protected]>
Introduce new parameters for explicity class and memory registration. Both parameters must be provided before `-C` parameter. Syntax is as follow: * -M[p] for memory registration. The `p` value inidcates the usage of persisten memory * -R[d] for class registration. The `d` value indicates the usage of `BTR_FEAT_DIRECT_KEY` flag - root is dynamically sized up to tree order. Parameters `-t` and `-d` are no longer valid. Signed-off-by: Tomasz Gromadzki <[email protected]>
-R and -M options have optional argument. The optional argument must be specified on the command line without space. Otherwise, the argument is incorectly interpreted as the next option (invalid one). From getopt() documentation: about option with mandatory argument: "optstring is a string containing the legitimate option characters. If such a character is followed by a colon, the option requires an argument, so getopt() places a pointer to the following text in the same argv-element, or the text of the following argv-element, in optarg." about option with optional argument: "Two colons mean an option takes an optional arg; if there is text in the current argv-element (i.e., in the same word as the option name itself, for example, "-oarg"), then it is returned in optarg, otherwise optarg is set to zero." Signed-off-by: Tomasz Gromadzki <[email protected]>
btree_direct.c and btree.c must follow the same parameters except dyenamic registration and drain. Unify test execution implementation. Limit validation scope: Skip-func-hw-test: true Skip-func-test: true Signed-off-by: Tomasz Gromadzki <[email protected]>
a5d5f74
to
5f848f0
Compare
All required tests passed. |
In btree.sh the -m and -t parameters were not applied correctly because of the preceding positional argument containing spaces but not wrapped in quotes In btree.c an invalid parameter sequence was not detected due to of the partially manual parsing process. All parameters parsing process has been unified. Additionally: instead of -t and -m parameters new parameters has been proposed: -R[d] for class registration, optionally with dynamic root -M[p] for memory registration, optionally with indication to use persistent memory struct btr_test_state introduced to provide global parameters to the test (argc/argv) and avoid static variables for that purpose. Signed-off-by: Tomasz Gromadzki <[email protected]>
In btree.sh the -m and -t parameters were not applied correctly because of the preceding positional argument containing spaces but not wrapped in quotes
In btree.c an invalid parameter sequence was not detected due to of the partially manual parsing process.
All parameters parsing process has been unified.
Additionally:
instead of
-t
and-m
parameters new parameters has been proposed:-R[d]
for class registration, optionally with dynamic root-M[p]
for memory registration, optionally with indication to use persistent memorystruct btr_test_state
introduced to provide global parameters to the test (argc/argv) and avoid static variables for that purpose.Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.NOTE: Functional Tests and HW Tests are intentionally skipped as they do not use
btree
/btree_direct
binaries.Gatekeeper: