On Mon, Jun 17, 2024 at 12:05:11PM +0200, Przemek Kitszel wrote:
> On 6/17/24 10:28, Simon Horman wrote:
> > openvswitch.sh makes use of substitutions of the form ${ns:0:1}, to
> > obtain the first character of $ns. Empirically, this is works with bash
> > but not dash. When run with dash these evaluate to an empty string and
> > printing an error to stdout.
> >
> > # dash -c 'ns=client; echo "${ns:0:1}"' 2>error
> > # cat error
> > dash: 1: Bad substitution
> > # bash -c 'ns=client; echo "${ns:0:1}"' 2>error
> > c
> > # cat error
> >
> > This leads to tests that neither pass nor fail.
> > F.e.
> >
> > TEST: arp_ping
> > [START]
> > adding sandbox 'test_arp_ping'
> > Adding DP/Bridge IF: sbx:test_arp_ping dp:arpping {, , }
> > create namespaces
> > ./openvswitch.sh: 282: eval: Bad substitution
> > TEST: ct_connect_v4
> > [START]
> > adding sandbox 'test_ct_connect_v4'
> > Adding DP/Bridge IF: sbx:test_ct_connect_v4 dp:ct4 {, , }
> > ./openvswitch.sh: 322: eval: Bad substitution
> > create namespaces
> >
> > Resolve this by making openvswitch.sh a bash script.
> >
> > Fixes: 918423fda910 ("selftests: openvswitch: add an initial flow
> > programming case")
> > Signed-off-by: Simon Horman <[email protected]>
>
> That's good fix,
> Reviewed-by: Przemek Kitszel <[email protected]>
>
> sidenote: I like very much the idea to use the least powerful tool, like
> sh vs bash, awk vs gawk, but it breaks when we forget what is outside of
> the scope of the former/standard.
> Perhaps for shell, we could convert all the selftests at once?
Thanks,
Now that you mention it, I have the same feelings.
Do we ever expect to use the minimal tools, when other
parts of the test suite depend on the enhanced ones?
...
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev