From 8ab0a5c79507f62b802a3e106b57e81b4c9308c7 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Thu, 23 Feb 2017 12:12:28 +0100 Subject: [PATCH] nic_router.run: avoid use of 'string cat' It seems that our buildbot has a problem with the TCL command 'string cat'. In most cases it is not necessary anyway as we can use the "" enclosure instead. It unfolds inline procedure calls and variables automatically. We don't want to use "" only in cases where the literal shall contain many " characters itself as it is the case for XML configs. Then we use the 'append' command and a helper variable instead. Ref #2193 --- repos/libports/run/nic_router.run | 127 ++++++++++++++++-------------- 1 file changed, 66 insertions(+), 61 deletions(-) diff --git a/repos/libports/run/nic_router.run b/repos/libports/run/nic_router.run index 8d96cae44..3001f3572 100644 --- a/repos/libports/run/nic_router.run +++ b/repos/libports/run/nic_router.run @@ -30,13 +30,12 @@ proc nic_drv_build { } { if {[nic_drv] == "usb_drv"} { return drivers/usb } } -proc gpio_drv_build { } { if {[gpio_drv] != ""} { return " drivers/gpio" } } +proc gpio_drv_build { } { if {[gpio_drv] != ""} { return drivers/gpio } } -build [string cat { - core init drivers/timer server/nic_router server/nic_bridge - test/lwip/http_srv_static test/lwip/http_clnt test/lxip/udp_echo - test/lxip/udp_client } [nic_drv_build] { } [gpio_drv_build] { - } [platform_drv_build_components]] +build "core init drivers/timer server/nic_router server/nic_bridge + test/lwip/http_srv_static test/lwip/http_clnt test/lxip/udp_echo + test/lxip/udp_client [nic_drv_build] [gpio_drv_build] + [platform_drv_build_components]" create_boot_directory @@ -45,35 +44,38 @@ create_boot_directory # proc gpio_drv_config { } { - - if {[have_spec gpio]} { return [string cat { - - - - - }] } + if {[have_spec gpio]} { + append result { + + + + } + return $result + } } proc nic_drv_config { } { - - if {[nic_drv] == "nic_drv"} { return [string cat { - - - - - }] } - - if {[nic_drv] == "usb_drv"} { return [string cat { - - - - - - - - - - }] } + if {[nic_drv] == "nic_drv"} { + append result { + + + + } + return $result + } + if {[nic_drv] == "usb_drv"} { + append result { + + + + + + + + + } + return $result + } } proc client_bin { prot } { @@ -85,8 +87,7 @@ proc server_bin { prot } { if {$prot == "http"} { return "test-lwip_httpsrv_static" } } proc client_config { prot index ip_addr gateway netmask nic srv_port srv_ip } { - return [string cat { - + append result { @@ -99,12 +100,12 @@ proc client_config { prot index ip_addr gateway netmask nic srv_port srv_ip } { - }] + } + return $result } proc server_config { prot index ip_addr gateway netmask nic port } { - return [string cat { - + append result { @@ -117,46 +118,47 @@ proc server_config { prot index ip_addr gateway netmask nic port } { - }] + } + return $result } proc test_1_config { } { - if {[enable_test_1]} { return [string cat { - } [client_config udp 1 10.0.98.55 10.0.98.33 255.255.255.0 nic_router 1337 10.0.98.33] { - } [server_config udp 1 10.0.99.55 10.0.99.33 255.255.255.0 nic_router 1337 ]] } + if {[enable_test_1]} { return " + [client_config udp 1 10.0.98.55 10.0.98.33 255.255.255.0 nic_router 1337 10.0.98.33] + [server_config udp 1 10.0.99.55 10.0.99.33 255.255.255.0 nic_router 1337 ]" } } proc test_2_config { } { - if {[enable_test_2]} { return [string cat { - } [client_config udp 2 10.0.2.212 10.0.2.1 255.255.255.0 nic_bridge 1 10.0.2.55] { - } [server_config udp 2 18.17.16.15 18.17.16.14 255.255.0.0 nic_router 1 ]] } + if {[enable_test_2]} { return " + [client_config udp 2 10.0.2.212 10.0.2.1 255.255.255.0 nic_bridge 1 10.0.2.55] + [server_config udp 2 18.17.16.15 18.17.16.14 255.255.0.0 nic_router 1 ]" } } proc test_3_config { } { - if {[enable_test_3]} { return [string cat { - } [client_config udp 3 217.13.192.2 217.13.192.1 255.255.192.0 nic_router 65535 10.0.2.213] { - } [server_config udp 3 10.0.2.213 10.0.2.55 255.255.255.0 nic_bridge 65535 ]] } + if {[enable_test_3]} { return " + [client_config udp 3 217.13.192.2 217.13.192.1 255.255.192.0 nic_router 65535 10.0.2.213] + [server_config udp 3 10.0.2.213 10.0.2.55 255.255.255.0 nic_bridge 65535 ]" } } proc test_4_config { } { - if {[enable_test_4]} { return [string cat { - } [client_config http 1 10.0.2.201 10.0.2.1 255.255.255.0 nic_bridge 80 10.0.2.55] { - } [server_config http 1 192.168.1.18 192.168.1.1 255.255.255.0 nic_router 80 ]] } + if {[enable_test_4]} { return " + [client_config http 1 10.0.2.201 10.0.2.1 255.255.255.0 nic_bridge 80 10.0.2.55] + [server_config http 1 192.168.1.18 192.168.1.1 255.255.255.0 nic_router 80 ]" } } proc test_5_config { } { - if {[enable_test_5]} { return [string cat { - } [client_config http 2 10.0.2.202 10.0.2.1 255.255.255.0 nic_bridge 8080 10.0.2.55] { - } [server_config http 2 192.168.2.72 192.168.2.1 255.255.255.0 nic_router 8080 ]] } + if {[enable_test_5]} { return " + [client_config http 2 10.0.2.202 10.0.2.1 255.255.255.0 nic_bridge 8080 10.0.2.55] + [server_config http 2 192.168.2.72 192.168.2.1 255.255.255.0 nic_router 8080 ]" } } proc test_6_config { } { - if {[enable_test_6]} { return [string cat { - } [client_config http 3 100.200.0.128 100.200.0.1 255.255.0.0 nic_router 2345 10.0.2.203] { - } [server_config http 3 10.0.2.203 10.0.2.1 255.255.255.0 nic_bridge 2345 ]] } + if {[enable_test_6]} { return " + [client_config http 3 100.200.0.128 100.200.0.1 255.255.0.0 nic_router 2345 10.0.2.203] + [server_config http 3 10.0.2.203 10.0.2.1 255.255.255.0 nic_bridge 2345 ]" } } -install_config [string cat { +append config { @@ -254,22 +256,25 @@ install_config [string cat { } [test_5_config] { } [test_6_config] { - }] + } + +install_config $config # # Create single image and execute # -build_boot_image [string cat { + +build_boot_image " core init timer nic_router nic_bridge ld.lib.so libc.lib.so libm.lib.so libc_resolv.lib.so lwip.lib.so lxip.lib.so test-http_clnt test-lwip_httpsrv_static test-lxip_udp_echo test-lxip_udp_client - } [nic_drv] { } [gpio_drv] { } [platform_drv_boot_modules]] + [nic_drv] [gpio_drv] [platform_drv_boot_modules]" proc nic_qemu_args { } { if {[have_spec x86]} { return "-net nic,model=e1000" } if {[have_spec lan9118]} { return "-net nic,model=lan9118" } } -append qemu_args { -m 384 -nographic -net user -redir udp:5555::1337 } [nic_qemu_args] +append qemu_args "-m 384 -nographic -net user -redir udp:5555::1337 [nic_qemu_args]" run_genode_until {.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n} 60