Re: [PATCH net-next 2/4] selftests: tc-testing: check if 'jq' is available in taprio script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello Pedro, thanks for your answer!

On Tue, Jan 23, 2024 at 5:47 PM Pedro Tammela <pctammela@xxxxxxxxxxxx> wrote:
>
> On 23/01/2024 10:17, Davide Caratti wrote:
> > hi Pedro,
> >
> > On Tue, Jan 23, 2024 at 1:28 PM Pedro Tammela <pctammela@xxxxxxxxxxxx> wrote:
> >>
> >> If 'jq' is not available the taprio tests that use this script will
> >> run forever. Check if it exists before entering the while loop.

[...]

> > nit: what about returning $KSFT_SKIP (that is 4) if jq is not there?
> > so the test does not fail.
> > thanks!
>
> Since these scripts are run in the setup phase, it has a special treatment.
>
> Take for example this run:
> ok 1 ba39 - Add taprio Qdisc to multi-queue device (8 queues)
> ok 2 9462 - Add taprio Qdisc with multiple sched-entry
> ok 3 8d92 - Add taprio Qdisc with txtime-delay
> ok 4 d092 - Delete taprio Qdisc with valid handle
> ok 5 8471 - Show taprio class
> ok 6 0a85 - Add taprio Qdisc to single-queue device
> ok 7 3e1e - Add taprio Qdisc with an invalid cycle-time
> ok 8 39b4 - Reject grafting taprio as child qdisc of software taprio #
> skipped - "-----> prepare stage" did not complete successfully
>
> ok 9 e8a1 - Reject grafting taprio as child qdisc of offloaded taprio #
> skipped - skipped - previous setup failed 9 39b4

[...]

> As of today it returns 0, success in ksft, even though it clearly
> wasn't. Looking at the code any failures in the setup/teardown phase
> will stop the run, skip all the remaining tests but still return success.
>
> About returning skip from the script, aside from marking it as skip and
> continuing the suite, we would need to run a silent teardown, one that
> executes all commands in the specified teardown but
> ignores errors. In this case we are assuming all setup steps follow KSFT
> return codes. Not sure if it it's reasonable or not...

wouldn't this be fixed by adding this line:

"dependsOn" : "command -v jq >/dev/null"

to test scenarios 39b4 and e8a1 ? I'm asking this because jq is used
also in verifyCmd after the script, to parse results.
Background for this question: I see tdc skipping both setup and
teardown stages for each test case in taprio.json where this line:

     "dependsOn": "command -v ciao >/dev/null",

is present. Rather than doing a setup +  silent teardown, just do
nothing and go to the next test.

> As your suggestion is not a blocker, I would rather address the above
> problems in a follow up series since they will require some refactoring.
> WDYT?

no objections, but I'm curious to see if "dependsOn" would fix this case :)
thanks!
-- 
davide






[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux