[Fuego] [PATCH 06/12] skip some cases because ONFIG_XFRM_USER is not set

Bird, Tim Tim.Bird at sony.com
Thu Sep 17 20:02:12 UTC 2020


Tingting,

I have examined the first patch, and it will work.  But I would like to measure the
overhead of the operations that this test is performing.  Already, the time
spent in test_pre_check for Functional.LTP is quite long.  I'd like to prevent it from
getting too long.

The current mechanisms in Fuego are not very efficient for testing a large number
of dependencies.  There may be several program invocations and file operations for
each dependency check. So I am thinking about writing an alternate mechanism.

I am considering writing a small python program (which I'll call 'check-dependencies" to perform dependency-checking based on dependencies listed in a file.

With such a program I could pass the dependency file ( case-dependency-list-with-config.txt),
and process them all at once, rather than one at a time.

The program would do the following:
 - read the kernel config file once and keep it in memory
 - read the case-dependency file (or a list of files) specified, and add items to
   the skiplist, if their dependencies are not met

It would be nice to keep an extra file (maybe in json format), that we would
place in the log directory, to hold the reason for each skipped item (missing kernel config,
wrong architecture, missing command on target).  This information would be quite 
helpful to diagnose problems with a test (why particular tests were skipped).

BTW - I'd rather call the case-dependency file something like:
"testcase-dependencies.txt", and have syntax in the file to indicate the
type of dependency.

Let me know what you think.  I'll try to get a prototype written next week
that we can review and discuss.
 -- Tim


> -----Original Message-----
> From: Qiu, Tingting <qiutt at cn.fujitsu.com>
> 
> Hi,Tim
> 
> Thanks for your reply.
> We modified tst_init_iface() refer to 20200515-164-ga6c8680, and then retested.
> It took some time.
> 
> Some cases(such as ping601) are really unrelated to CONFIG_XFRM_USER(or ip xfrm).
> So we add a file case-dependency-list-with-config.txt, to describe the relationship between testcase and the CONFIG,
> and add a function skip_tests_with_config_skiplist to add testcases to skiplist.txt.
> refer to 0001-skip-some-cases-based-on-skiplist-with-config.patch
> 
> As the same way, we add case-dependency-list-with-config.txt and a function skip_tests_with_cmd_skiplist,
> for the relationship between testcases and the cmds.
> refer to 0002-skip-some-cases-based-on-skiplist-with-cmd.patch
> 
> If these patches is ok, we will commit them.
> 
> Thanks,
>   -- QiuTingting
> 
> -----Original Message-----
> From: Bird, Tim [mailto:Tim.Bird at sony.com]
> Sent: Friday, August 7, 2020 8:03 AM
> To: Qiu, Tingting/仇 婷婷 <qiutt at cn.fujitsu.com>
> Cc: fuego at lists.linuxfoundation.org
> Subject: RE: [Fuego] [PATCH 06/12] skip some cases because ONFIG_XFRM_USER is not set
> 
> > -----Original Message-----
> > From: Qiu, Tingting <qiutt at cn.fujitsu.com>
> >
> > Hi,Tim
> >
> > > This is a LOT of dependencies!  Is there any way to use wildcards here, to avoid having to list all of these testcases individually?
> >
> > We can add wildcard processing in fuego_test.sh, but this is only used
> > in some cases, such as using skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "^icmp4-uni* ^icmp6-uni*"
> > instead of
> > skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "icmp4-uni-basic01
> > icmp4-uni-basic02 icmp4-uni-basic03 icmp4-uni-basic04 icmp4-uni-
> > basic05 icmp4-uni-basic06 icmp4-uni-basic07 icmp4-uni-basic08 \
> >     icmp4-uni-basic09 icmp4-uni-basic10 icmp4-uni-basic11
> > icmp4-uni-basic12 icmp4-uni-basic13 icmp4-uni-basic14
> > icmp4-uni-basic15
> > icmp4-uni-basic16 icmp4-uni-basic17 icmp4-uni-basic18 \
> >     icmp4-uni-basic19 icmp4-uni-basic20 icmp4-uni-basic21
> > icmp4-uni-basic22 icmp4-uni-basic23 icmp4-uni-basic24
> > icmp4-uni-basic25
> > icmp4-uni-basic26 icmp6-uni-basic01 icmp6-uni-basic02 \
> >     icmp6-uni-basic03 icmp6-uni-basic04 icmp6-uni-basic05
> > icmp6-uni-basic06 icmp6-uni-basic07 icmp6-uni-basic08
> > icmp6-uni-basic09
> > icmp6-uni-basic10 icmp6-uni-basic11 icmp6-uni-basic12 \
> >     icmp6-uni-basic13 icmp6-uni-basic14 icmp6-uni-basic15
> > icmp6-uni-basic16 icmp6-uni-basic17 icmp6-uni-basic18
> > icmp6-uni-basic19
> > icmp6-uni-basic20 icmp6-uni-basic21 icmp6-uni-basic22 \
> >     icmp6-uni-basic23 icmp6-uni-basic24 icmp6-uni-basic25
> > icmp6-uni-basic26" # for net_stress.ipsec_icmp But there are still
> > some cases(preliminary estimate is at least 80+), the code is not
> > concise after using wildcards. Becase the name gap is very small (some
> > cases need to be tested, but some need skip)
> >
> > Therefore, we suggest whether it is possible to write all the cases
> > that depend on "CONFIG_XFRM_USER=y" into a CONFIG_XFRM_USER_skiplist.txt (naming rule: ${config name}_skiplist.txt), and add the
> contents to skiplist.txt during run test.
> > I think this can achieve requirements of skip case, and concise code.
> > See patch :
> > 0006-skip-some-cases-because-ONFIG_XFRM_USER-is-not-set.patch
> 
> The approach is intriguing, but seems a bit complicated.  Also, with this particular dependency, based on my experimentation with dccp01
> I don't trust that all these tests are actually dependent on CONFIG_XFRM_USER.
> 
> However, that issue is separate from the issue of how to handle large numbers of dependencies.
> 
> With regards to using wildcards,
> wildcard dependencies only work at the level of fuego_test.sh if Fuego can expand the wildcard to come up with the list of items to match
> - which are individual testcase tags specified in LTP's runtest files (also called 'scenario' files or command files).  I'd rather not have LTP
> have to go parsing the files in that directory to process wildcards.
> 
> Passing around strings with wildcard patterns in them is quite problematical in shell code, so I don't think it's feasible to try to keep the
> regexes with wildcards in the skiplist itself (to pass through eventually to runltp), and with that solution, runltp would need to be modified
> to support wildcards.  Maybe it would work, but it seems error prone.
> 
> So, for now, I think I'd like to withdraw my wildcard suggestion.
> 
> Putting the lists into a file seems like a good idea.  I don't like them cluttering up the fuego_test.sh code with huge lists.
> 
> I'm not sure I want to fully generalize this solution yet.  If we kept this list of files dependent on a config, I think I'd rather do something
> like modifying skip_if_kconfig_differs as follows:
> 
> function skip_if_kconfig_differs {
>     set -f
>     local KCONFIGS=($1)
>     set +f
>     local TESTS="$2"
> 
>     for cfg in ${KCONFIGS[@]}; do
>         if ! check_kconfig "$cfg"; then
>             for item in "${TESTS}"; do
>                 if [ -f "$item" ]; then
>                     cat "$item" >> ${LOGDIR}/skiplist.txt
>                else
>                     echo "$item" >> ${LOGDIR}/skiplist.txt
>                fi
>            done
>         fi
>     done
> }
> 
> And then call it with:
> 
> skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "$TEST_HOME/CONFIG_XFRM_USER_skiplist.txt"
> 
>  -- Tim
> 
> >
> > Thanks,
> >  -- QiuTingting
> >
> > -----Original Message-----
> > From: Fuego [mailto:fuego-bounces at lists.linuxfoundation.org] On Behalf
> > Of Qiu, Tingting
> > Sent: Thursday, July 30, 2020 1:49 PM
> > To: Bird, Tim <Tim.Bird at sony.com>
> > Cc: fuego at lists.linuxfoundation.org
> > Subject: Re: [Fuego] [PATCH 06/12] skip some cases because
> > ONFIG_XFRM_USER is not set
> >
> > Hi,Tim
> >
> > Cases such as ping, tcp, udp and traceroute are all based on the virtual network card.
> > Initializing the virtual network card is implemented by the common script(test_net.sh).
> > The code is as follows(*1), using "ip xfrm" to build the ipsec tunnel, and the support of "ip xfrm" depends on "CONFIG_XFRM_USER=y".
> > Therefore, all cases that use virtualized network cards will be affected in the same way.
> > It is reasonable to use the "CONFIG_XFRM_USER=y" to check.
> >
> > The following is my guess:
> > There are too many cases which need to initialize the virtual network card to initial virtual network card by the common script.
> > when initializing the virtualized network card, using "ip xfrm" is
> > necessary, because many ipsec-related content need to be tested in the network test set (at least 504 cases).
> >
> > *1:
> > tst_init_iface()
> > {
> >          local type="${1:-lhost}"
> >          local link_num="${2:-0}"
> >          local iface="$(tst_iface $type $link_num)"
> >          tst_resm TINFO "initialize '$type' '$iface' interface"
> >
> >          if [ "$type" = "lhost" ]; then
> >                  ip xfrm policy flush || return $?
> >                  ip xfrm state flush || return $?
> >                  ip link set $iface down || return $?
> >                  ip route flush dev $iface || return $?
> >                  ip addr flush dev $iface || return $?
> >                  ip link set $iface up
> >                  return $?
> >          fi
> >
> >          tst_rhost_run -c "ip xfrm policy flush" || return $?
> >          tst_rhost_run -c "ip xfrm state flush" || return $?
> >          tst_rhost_run -c "ip link set $iface down" || return $?
> >          tst_rhost_run -c "ip route flush dev $iface" || return $?
> >          tst_rhost_run -c "ip addr flush dev $iface" || return $?
> >          tst_rhost_run -c "ip link set $iface up"
> > }
> >
> > Thanks,
> >  -- QiuTingting
> >
> > -----Original Message-----
> > From: Bird, Tim [mailto:Tim.Bird at sony.com]
> > Sent: Thursday, July 9, 2020 6:13 AM
> > To: Qiu, Tingting/仇 婷婷 <qiutt at cn.fujitsu.com>;
> > fuego at lists.linuxfoundation.org
> > Subject: RE: [Fuego] [PATCH 06/12] skip some cases because
> > ONFIG_XFRM_USER is not set
> >
> > This one doesn't look right. See comments below.
> >
> > > -----Original Message-----
> > > From: qiutt
> > >
> > > for m3ulcb, skip cases in  net.features net.multicast net.ipv6
> > > net.rpc net.rpc_tests net.sctp net_stress.appl net_stress.broken_ip
> > > net_stress.interface net_stress.ipsec_dccp  net_stress.ipsec_icmp
> > > net_stress.ipsec_tcp  net_stress.ipsec_udp  net_stress.ipsec_sctp
> > > net_stress.multicast net.tcp_cmds net.tirpc_tests
> > >
> > > Signed-off-by: qiutt <qiutt at cn.fujitsu.com>
> > > ---
> > >  tests/Functional.LTP/fuego_test.sh | 59
> > > ++++++++++++++++++++++++++++++++++++++
> > >  1 file changed, 59 insertions(+)
> > >
> > > diff --git a/tests/Functional.LTP/fuego_test.sh
> > > b/tests/Functional.LTP/fuego_test.sh
> > > index 156fd39..ab4165d 100755
> > > --- a/tests/Functional.LTP/fuego_test.sh
> > > +++ b/tests/Functional.LTP/fuego_test.sh
> > > @@ -251,6 +251,65 @@ function test_pre_check {
> > >      skip_if_kconfig_differs "CONFIG_SWAP=y" "swapoff01 swapoff02 swapon01 swapon02 swapon03"
> > >      skip_if_kconfig_differs "CONFIG_SGETMASK_SYSCALL=y" "ssetmask01"
> > >
> > > +    # some CONFIGs do not set in m3ulcb
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "dccp01
> > > + dccp01_ipv6 sctp01 sctp01_ipv6 tcp_fastopen tcp_fastopen6 vlan01
> > vlan03"
> > > # for net.features
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "ping601 ping602
> > > + sendfile601 traceroute601 dhcpd6" # for net.ipv6
> >
> > Do ping and traceroute depend on CONFIG_XFRM_USER=y?
> > That doesn't seem right.
> >
> > Are ping601 and traceroute601 related to ipsec?  I didn't have time to dig into the tests to see if this was the case or not.
> >
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "mc_cmds mc_commo mc_member mc_opts" # for net.multicast
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "rpc01" # for net.rpc
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "rpc_pmap_set
> > > + rpc_pmap_unset rpc_pmap_getport rpc_pmap_getmaps
> > > rpc_pmap_rmtcall rpc_clnt_broadcast rpc_svc_destroy rpc_svcfd_create
> > > rpc_clnt_destroy \
> > > +    rpc_clnt_create rpc_clnttcp_create rpc_clntudp_create
> > > + rpc_clntudp_bufcreate rpc_clnt_perrno rpc_clnt_perror
> > > + rpc_clnt_sperrno
> > > rpc_clnt_sperror rpc_svcerr_noproc rpc_svcerr_noprog \
> > > +    rpc_svcerr_progvers rpc_svcerr_systemerr rpc_svcerr_auth
> > > + rpc_svcerr_weakauth rpc_xprt_register rpc_xprt_unregister
> > > rpc_svc_register rpc_registerrpc rpc_clnt_call rpc_callrpc
> > > rpc_clnt_freeres \
> > > +    rpc_clnt_geterr rpc_clnt_control rpc_svc_getcaller rpc_svc_getargs rpc_svc_sendreply" # for net.rpc_tests
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y"
> > > + "test_1_to_1_accept_close test_1_to_1_addrs test_1_to_1_connect
> > > test_1_to_1_connectx test_1_to_1_events test_1_to_1_initmsg_connect
> > > \
> > > +    test_1_to_1_nonblock test_1_to_1_recvfrom test_1_to_1_recvmsg
> > > + test_1_to_1_rtoinfo test_1_to_1_send test_1_to_1_sendmsg
> > > test_1_to_1_sendto test_1_to_1_shutdown
> > > test_1_to_1_socket_bind_listen \
> > > +    test_1_to_1_sockopt test_1_to_1_threads test_assoc_abort
> > > + test_assoc_shutdown test_autoclose test_basic test_basic_v6
> > > + test_connect
> > > test_connectx test_fragments test_fragments_v6 test_getname \
> > > +    test_getname_v6 test_inaddr_any test_inaddr_any_v6 test_peeloff
> > > + test_peeloff_v6 test_recvmsg test_sctp_sendrecvmsg
> > > test_sctp_sendrecvmsg_v6 test_sockopt test_sockopt_v6 test_tcp_style
> > > \
> > > +    test_tcp_style_v6 test_timetolive test_timetolive_v6" # for
> > > + net.sctp
> >
> > A lot of these tests don't seem to be specific to CONFIG_XFRM_USER configuration.
> > Are you just using CONFIG_XFRM_USER as a placeholder for networking config for the m3ulcb board?
> >
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "ssh4-stress ssh6-stress" # for net_stress.appl
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y"
> > > + "broken_ip4-version broken_ip4-ihl broken_ip4-totlen
> > > + broken_ip4-fragment
> > > broken_ip4-protcol broken_ip4-checksum broken_ip4-dstaddr
> > > broken_ip6-dstaddr \
> > > +    broken_ip6-nexthdr broken_ip6-plen broken_ip6-version" # for net_stress.broken_ip
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "if4-addr-change
> > > + if4-updown if4-addr-adddel if4-addr-addlarge if4-route-adddel if4-
> > > route-addlarge if4-mtu-change if6-updown if6-addr-adddel \
> > > +    if6-addr-addlarge if6-route-adddel if6-route-addlarge
> > > + if6-mtu-change" # for net_stress.interface
> >
> > Same issue here.  Is CONFIG_XFRM_USER the best kernel config to check here?
> >
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "dccp4_ipsec01
> > > + dccp4_ipsec02 dccp4_ipsec03 dccp4_ipsec04 dccp4_ipsec05
> > > dccp4_ipsec06 dccp4_ipsec07 dccp4_ipsec08 dccp4_ipsec09
> > > dccp4_ipsec10 \
> > > +    dccp4_ipsec11 dccp4_ipsec12 dccp4_ipsec13 dccp4_ipsec14
> > > + dccp4_ipsec15 dccp4_ipsec16 dccp4_ipsec17 dccp4_ipsec18
> > > dccp4_ipsec19 dccp4_ipsec20 dccp4_ipsec21 dccp4_ipsec22
> > > dccp4_ipsec23 \
> > > +    dccp4_ipsec24 dccp4_ipsec25 dccp4_ipsec26 dccp4_ipsec27
> > > + dccp4_ipsec28 dccp4_ipsec29 dccp4_ipsec30 dccp4_ipsec31
> > > dccp4_ipsec32 dccp4_ipsec33 dccp4_ipsec34 dccp4_ipsec35
> > > dccp4_ipsec36 \
> > > +    dccp6_ipsec01 dccp6_ipsec02 dccp6_ipsec03 dccp6_ipsec04
> > > + dccp6_ipsec05 dccp6_ipsec06 dccp6_ipsec07 dccp6_ipsec08
> > > dccp6_ipsec09 dccp6_ipsec10 dccp6_ipsec11 dccp6_ipsec12
> > > dccp6_ipsec13 \
> > > +    dccp6_ipsec14 dccp6_ipsec15 dccp6_ipsec16 dccp6_ipsec17
> > > + dccp6_ipsec18 dccp6_ipsec19 dccp6_ipsec20 dccp6_ipsec21
> > > dccp6_ipsec22 dccp6_ipsec23 dccp6_ipsec24 dccp6_ipsec25
> > > dccp6_ipsec26 \
> > > +    dccp6_ipsec27 dccp6_ipsec28 dccp6_ipsec29 dccp6_ipsec30
> > > + dccp6_ipsec31 dccp6_ipsec32 dccp6_ipsec33 dccp6_ipsec34
> > > dccp6_ipsec35 dccp6_ipsec36" # for net_stress.ipsec_dccp
> >
> > This is a LOT of dependencies!  Is there any way to use wildcards here, to avoid having to list all of these testcases individually?
> >
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "icmp4-uni-basic01
> > > + icmp4-uni-basic02 icmp4-uni-basic03 icmp4-uni-basic04 icmp4-
> > > uni-basic05 icmp4-uni-basic06 icmp4-uni-basic07 icmp4-uni-basic08 \
> > > +    icmp4-uni-basic09 icmp4-uni-basic10 icmp4-uni-basic11
> > > + icmp4-uni-basic12 icmp4-uni-basic13 icmp4-uni-basic14
> > > + icmp4-uni-basic15
> > > icmp4-uni-basic16 icmp4-uni-basic17 icmp4-uni-basic18 \
> > > +    icmp4-uni-basic19 icmp4-uni-basic20 icmp4-uni-basic21
> > > + icmp4-uni-basic22 icmp4-uni-basic23 icmp4-uni-basic24
> > > + icmp4-uni-basic25
> > > icmp4-uni-basic26 icmp6-uni-basic01 icmp6-uni-basic02 \
> > > +    icmp6-uni-basic03 icmp6-uni-basic04 icmp6-uni-basic05
> > > + icmp6-uni-basic06 icmp6-uni-basic07 icmp6-uni-basic08
> > > + icmp6-uni-basic09
> > > icmp6-uni-basic10 icmp6-uni-basic11 icmp6-uni-basic12 \
> > > +    icmp6-uni-basic13 icmp6-uni-basic14 icmp6-uni-basic15
> > > + icmp6-uni-basic16 icmp6-uni-basic17 icmp6-uni-basic18
> > > + icmp6-uni-basic19
> > > icmp6-uni-basic20 icmp6-uni-basic21 icmp6-uni-basic22 \
> > > +    icmp6-uni-basic23 icmp6-uni-basic24 icmp6-uni-basic25 icmp6-uni-basic26" # for net_stress.ipsec_icmp
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "tcp4_ipsec01
> > > + tcp4_ipsec02 tcp4_ipsec03 tcp4_ipsec04 tcp4_ipsec05 tcp4_ipsec06
> > > tcp4_ipsec07 tcp4_ipsec08 tcp4_ipsec09 tcp4_ipsec10 tcp4_ipsec11 \
> > > +    tcp4_ipsec12 tcp4_ipsec13 tcp4_ipsec14 tcp4_ipsec15
> > > + tcp4_ipsec16
> > > + tcp4_ipsec17 tcp4_ipsec18 tcp4_ipsec19 tcp4_ipsec20
> > > tcp4_ipsec21 tcp4_ipsec22 tcp4_ipsec23 tcp4_ipsec24 tcp4_ipsec25 \
> > > +    tcp4_ipsec26 tcp4_ipsec27 tcp4_ipsec28 tcp4_ipsec29
> > > + tcp4_ipsec30
> > > + tcp4_ipsec31 tcp4_ipsec32 tcp4_ipsec33 tcp4_ipsec34
> > > tcp4_ipsec35 tcp4_ipsec36 tcp6_ipsec01 tcp6_ipsec02 tcp6_ipsec03 \
> > > +    tcp6_ipsec04 tcp6_ipsec05 tcp6_ipsec06 tcp6_ipsec07
> > > + tcp6_ipsec08
> > > + tcp6_ipsec09 tcp6_ipsec10 tcp6_ipsec11 tcp6_ipsec12
> > > tcp6_ipsec13 tcp6_ipsec14 tcp6_ipsec15 tcp6_ipsec16 tcp6_ipsec17 \
> > > +    tcp6_ipsec18 tcp6_ipsec19 tcp6_ipsec20 tcp6_ipsec21
> > > + tcp6_ipsec22
> > > + tcp6_ipsec23 tcp6_ipsec24 tcp6_ipsec25 tcp6_ipsec26
> > > tcp6_ipsec27 tcp6_ipsec28 tcp6_ipsec29 tcp6_ipsec30 tcp6_ipsec31 \
> > > +    tcp6_ipsec32 tcp6_ipsec33 tcp6_ipsec34 tcp6_ipsec35 tcp6_ipsec36" # for net_stress.ipsec_tcp
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "udp4_ipsec01
> > > + udp4_ipsec02 udp4_ipsec03 udp4_ipsec04 udp4_ipsec05
> > > udp4_ipsec06 udp4_ipsec07 udp4_ipsec08 udp4_ipsec09 udp4_ipsec10
> > > udp4_ipsec11 \
> > > +    udp4_ipsec12 udp4_ipsec13 udp4_ipsec14 udp4_ipsec15
> > > + udp4_ipsec16
> > > + udp4_ipsec17 udp4_ipsec18 udp4_ipsec19 udp4_ipsec20
> > > udp4_ipsec21 udp4_ipsec22 udp4_ipsec23 udp4_ipsec24 udp4_ipsec25 \
> > > +    udp4_ipsec26 udp4_ipsec27 udp4_ipsec28 udp4_ipsec29
> > > + udp4_ipsec30
> > > + udp4_ipsec31 udp4_ipsec32 udp4_ipsec33 udp4_ipsec34
> > > udp4_ipsec35 udp4_ipsec36 udp6_ipsec01 udp6_ipsec02 udp6_ipsec03 \
> > > +    udp6_ipsec04 udp6_ipsec05 udp6_ipsec06 udp6_ipsec07
> > > + udp6_ipsec08
> > > + udp6_ipsec09 udp6_ipsec10 udp6_ipsec11 udp6_ipsec12
> > > udp6_ipsec13 udp6_ipsec14 udp6_ipsec15 udp6_ipsec16 udp6_ipsec17 \
> > > +    udp6_ipsec18 udp6_ipsec19 udp6_ipsec20 udp6_ipsec21
> > > + udp6_ipsec22
> > > + udp6_ipsec23 udp6_ipsec24 udp6_ipsec25 udp6_ipsec26
> > > udp6_ipsec27 udp6_ipsec28 udp6_ipsec29 udp6_ipsec30 udp6_ipsec31 \
> > > +    udp6_ipsec32 udp6_ipsec33 udp6_ipsec34 udp6_ipsec35 udp6_ipsec36" # for net_stress.ipsec_udp
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "sctp4_ipsec01
> > > + sctp4_ipsec02 sctp4_ipsec03 sctp4_ipsec04 sctp4_ipsec05
> > > sctp4_ipsec06 sctp4_ipsec07 sctp4_ipsec08 sctp4_ipsec09
> > > sctp4_ipsec10 \
> > > +    sctp4_ipsec11 sctp4_ipsec12 sctp4_ipsec13 sctp4_ipsec14
> > > + sctp4_ipsec15 sctp4_ipsec16 sctp4_ipsec17 sctp4_ipsec18
> > > + sctp4_ipsec19
> > > sctp4_ipsec20 sctp4_ipsec21 sctp4_ipsec22 sctp4_ipsec23 \
> > > +    sctp4_ipsec24 sctp4_ipsec25 sctp4_ipsec26 sctp4_ipsec27
> > > + sctp4_ipsec28 sctp4_ipsec29 sctp4_ipsec30 sctp4_ipsec31
> > > + sctp4_ipsec32
> > > sctp4_ipsec33 sctp4_ipsec34 sctp4_ipsec35 sctp4_ipsec36 \
> > > +    sctp6_ipsec01 sctp6_ipsec02 sctp6_ipsec03 sctp6_ipsec04
> > > + sctp6_ipsec05 sctp6_ipsec06 sctp6_ipsec07 sctp6_ipsec08
> > > + sctp6_ipsec09
> > > sctp6_ipsec10 sctp6_ipsec11 sctp6_ipsec12 sctp6_ipsec13 \
> > > +    sctp6_ipsec14 sctp6_ipsec15 sctp6_ipsec16 sctp6_ipsec17
> > > + sctp6_ipsec18 sctp6_ipsec19 sctp6_ipsec20 sctp6_ipsec21
> > > + sctp6_ipsec22
> > > sctp6_ipsec23 sctp6_ipsec24 sctp6_ipsec25 sctp6_ipsec26 \
> > > +    sctp6_ipsec27 sctp6_ipsec28 sctp6_ipsec29 sctp6_ipsec30
> > > + sctp6_ipsec31 sctp6_ipsec32 sctp6_ipsec33 sctp6_ipsec34
> > > + sctp6_ipsec35
> > > sctp6_ipsec36" # for net_stress.ipsec_sctp
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y"
> > > + "mcast4-group-single-socket mcast4-group-multiple-socket
> > > + mcast4-group-same-group
> > > mcast4-group-source-filter mcast4-pktfld01 mcast4-pktfld02 \
> > > +    mcast4-queryfld01 mcast4-queryfld02 mcast4-queryfld03
> > > + mcast4-queryfld04 mcast4-queryfld05 mcast4-queryfld06
> > > + mcast6-group-
> > > single-socket mcast6-group-multiple-socket mcast6-group-same-group \
> > > +    mcast6-group-source-filter mcast6-pktfld01 mcast6-pktfld02
> > > + mcast6-queryfld01 mcast6-queryfld02 mcast6-queryfld03 mcast6-
> > > queryfld04 mcast6-queryfld05 mcast6-queryfld06" # for
> > > net_stress.multicast
> >
> > A lot of these lines are very long, and the dependency seems a bit sketch.
> >
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y" "ping01 ping02 sendfile iproute traceroute01 dhcpd" # for net.tcp_cmds
> > > +    skip_if_kconfig_differs "CONFIG_XFRM_USER=y"
> > > + "tirpc_rpcb_getaddr tirpc_rpcb_getmaps tirpc_authdes_create
> > > tirpc_authdes_seccreate tirpc_clnt_dg_create tirpc_clnt_vc_create \
> > > +    tirpc_bottomlevel_clnt_call tirpc_clnt_perrno tirpc_clnt_perror
> > > + tirpc_svcerr_noproc tirpc_svcerr_noprog tirpc_svcerr_progvers
> > > tirpc_svcerr_systemerr tirpc_svcerr_weakauth \
> > > +    tirpc_clnt_tli_create tirpc_rpcb_set tirpc_rpcb_unset
> > > + tirpc_rpcb_rmtcall tirpc_svc_reg tirpc_expertlevel_clnt_call
> > > + tirpc_clnt_tp_create
> > > tirpc_clnt_tp_create_timed tirpc_svc_tp_create \
> > > +    tirpc_interlevel_clnt_call tirpc_clnt_control tirpc_rpc_reg
> > > + tirpc_rpc_call tirpc_rpc_broadcast tirpc_rpc_broadcast_exp
> > > + tirpc_clnt_create
> > > tirpc_clnt_create_timed tirpc_svc_create \
> > > +    tirpc_toplevel_clnt_call tirpc_clnt_destroy tirpc_svc_destroy"
> > > + # for net.tirpc_tests
> > > +
> > >      echo "Tests skipped depending on the architecture"
> > >      if [ "$ARCHITECTURE" != "s390" ]; then
> > >          skip_tests "sbrk03" # Only works in 32bit on s390 series
> > > system
> > > --
> > > 2.11.0
> >
> > I have too many questions about this one.  I did NOT apply it.
> >  -- Tim
> >
> >
> >
> >
> >
> > _______________________________________________
> > Fuego mailing list
> > Fuego at lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/fuego
> >
> 
> 
> 
> 



More information about the Fuego mailing list