diff mbox series

[kvm-unit-tests] scripts/arch-run: use ncat rather than nc.

Message ID 20200921103644.1718058-1-jamie@nuviainc.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests] scripts/arch-run: use ncat rather than nc. | expand

Commit Message

Jamie Iles Sept. 21, 2020, 10:36 a.m. UTC
On Red Hat 7+ and derived distributions, 'nc' is nmap-ncat, but on
Debian based distributions this is often netcat-openbsd.  Both are
mostly compatible with the important distinction that netcat-openbsd
does not shutdown the socket on stdin EOF without also passing '-N' as
an argument which is not supported on nmap-ncat.  This has the
unfortunate consequence of hanging qmp calls so tests like aarch64
its-migration never complete.

We're depending on ncat behaviour and nmap-ncat is available in all
major distributions.

Signed-off-by: Jamie Iles <jamie@nuviainc.com>
---
 scripts/arch-run.bash | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Thomas Huth Sept. 28, 2020, 1:03 p.m. UTC | #1
On 21/09/2020 12.36, Jamie Iles wrote:
> On Red Hat 7+ and derived distributions, 'nc' is nmap-ncat, but on
> Debian based distributions this is often netcat-openbsd.  Both are
> mostly compatible with the important distinction that netcat-openbsd
> does not shutdown the socket on stdin EOF without also passing '-N' as
> an argument which is not supported on nmap-ncat.  This has the
> unfortunate consequence of hanging qmp calls so tests like aarch64
> its-migration never complete.
> 
> We're depending on ncat behaviour and nmap-ncat is available in all
> major distributions.
> 
> Signed-off-by: Jamie Iles <jamie@nuviainc.com>
> ---
>  scripts/arch-run.bash | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
> index 660f1b7acb93..5997e384019b 100644
> --- a/scripts/arch-run.bash
> +++ b/scripts/arch-run.bash
> @@ -101,13 +101,13 @@ timeout_cmd ()
>  
>  qmp ()
>  {
> -	echo '{ "execute": "qmp_capabilities" }{ "execute":' "$2" '}' | nc -U $1
> +	echo '{ "execute": "qmp_capabilities" }{ "execute":' "$2" '}' | ncat -U $1
>  }
>  
>  run_migration ()
>  {
> -	if ! command -v nc >/dev/null 2>&1; then
> -		echo "${FUNCNAME[0]} needs nc (netcat)" >&2
> +	if ! command -v ncat >/dev/null 2>&1; then
> +		echo "${FUNCNAME[0]} needs ncat (netcat)" >&2
>  		return 2
>  	fi

Sounds reasonable, and still seems to work fine with the sprs ppc64 test.

Tested-by: Thomas Huth <thuth@redhat.com>
diff mbox series

Patch

diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 660f1b7acb93..5997e384019b 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -101,13 +101,13 @@  timeout_cmd ()
 
 qmp ()
 {
-	echo '{ "execute": "qmp_capabilities" }{ "execute":' "$2" '}' | nc -U $1
+	echo '{ "execute": "qmp_capabilities" }{ "execute":' "$2" '}' | ncat -U $1
 }
 
 run_migration ()
 {
-	if ! command -v nc >/dev/null 2>&1; then
-		echo "${FUNCNAME[0]} needs nc (netcat)" >&2
+	if ! command -v ncat >/dev/null 2>&1; then
+		echo "${FUNCNAME[0]} needs ncat (netcat)" >&2
 		return 2
 	fi