tc-testing: Correct compound statements for namespace execution
If tdc is executing test cases inside a namespace, only the first command in a compound statement will be executed inside the namespace by tdc. As a result, the subsequent commands are not executed inside the namespace and the test will fail. Example: for i in {x..y}; do args="foo"; done && tc actions add $args The namespace execution feature will prepend 'ip netns exec' to the command: ip netns exec tcut for i in {x..y}; do args="foo"; done && \ tc actions add $args So the actual tc command is not parsed by the shell as being part of the namespace execution. Enclosing these compound statements inside a bash invocation with proper escape characters resolves the problem by creating a subshell inside the namespace. Signed-off-by: Lucas Bates <lucasb@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
e1a22d13eb
Коммит
cd464197f2
|
@ -481,7 +481,7 @@
|
|||
255
|
||||
]
|
||||
],
|
||||
"cmdUnderTest": "for i in `seq 1 32`; do cmd=\"action pass index $i \"; args=\"$args$cmd\"; done && $TC actions add $args",
|
||||
"cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action pass index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions list action gact",
|
||||
"matchPattern": "^[ \t]+index [0-9]+ ref",
|
||||
|
@ -505,7 +505,7 @@
|
|||
255
|
||||
]
|
||||
],
|
||||
"cmdUnderTest": "for i in `seq 1 32`; do cmd=\"action continue index $i cookie aabbccddeeff112233445566778800a1 \"; args=\"$args$cmd\"; done && $TC actions add $args",
|
||||
"cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action continue index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions list action gact",
|
||||
"matchPattern": "^[ \t]+index [0-9]+ ref",
|
||||
|
@ -528,13 +528,13 @@
|
|||
1,
|
||||
255
|
||||
],
|
||||
"for i in `seq 1 32`; do cmd=\"action continue index $i \"; args=\"$args$cmd\"; done && $TC actions add $args"
|
||||
"bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action continue index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
|
||||
],
|
||||
"cmdUnderTest": "for i in `seq 1 32`; do cmd=\"action gact index $i \"; args=\"$args$cmd\"; done && $TC actions del $args",
|
||||
"cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action gact index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
|
||||
"expExitCode": "0",
|
||||
"verifyCmd": "$TC actions list action gact",
|
||||
"matchPattern": "^[ \t]+index [0-9]+ ref",
|
||||
"matchCount": "0",
|
||||
"teardown": []
|
||||
}
|
||||
]
|
||||
]
|
||||
|
|
Загрузка…
Ссылка в новой задаче