• Simon Horman's avatar
    selftests: openvswitch: Use bash as interpreter · e2b447c9
    Simon Horman authored
    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: 918423fd ("selftests: openvswitch: add an initial flow programming case")
    Signed-off-by: default avatarSimon Horman <horms@kernel.org>
    Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
    Link: https://lore.kernel.org/r/20240617-ovs-selftest-bash-v1-1-7ae6ccd3617b@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    e2b447c9
openvswitch.sh 20.7 KB